VB.NET中如何实现自定义的‘And’运算符重载示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计396个文字,预计阅读时间需要2分钟。
由于此问题涉及对特定技术或平台的功能进行评价,以下是对原文的简化
关于Google,它并非最佳选择,因为它可能将搜索查询当作运算符来处理。至于MSDN,它也没有提供实现And运算符的示例。
因此,对于查找“And”或“Or”等重载运算符的示例而言,Google不是一个好的选择,因为它会尝试将它们解析为搜索查询本身的运算符. MSDN也没有提供如何实现重载And运算符的示例,所以我不确定如何为我的项目正确地重载它.有没有人至少有一个“和”的例子? “或”或“Xor”(或任何其他人)将是奖金.我不确定我是否需要在我的对象中重载这些操作符,因为我还在构建它们并且还没有计划好.但是有可能被谷歌索引的例子可能有助于拯救很多人的理智……
您重载逻辑运算符的方式与重载一元或算术运算符的方式相同.我实际上无法想到这个目前有用的情况,但是为了举例,这里是一个覆盖And和Or运算符的示例结构:
Public Structure Foo Public Shared Operator And(ByVal val1 as Foo, ByVal val2 as Foo) As Foo ''#(calculate the logical And of the two specified values here) Return New Foo(val1.Bar And val2.Bar, val1.Baz And val2.Baz) End Operator Public Shared Operator Or(ByVal val1 as Foo, ByVal val2 as Foo) As Foo ''#(calculate the logical Or of the two specified values here) Return New Foo(val1.Bar Or val2.Bar, val1.Baz Or val2.Baz) End Operator End Structure
这个MSDN page提供了一些其他的例子和进一步的解释.
本文共计396个文字,预计阅读时间需要2分钟。
由于此问题涉及对特定技术或平台的功能进行评价,以下是对原文的简化
关于Google,它并非最佳选择,因为它可能将搜索查询当作运算符来处理。至于MSDN,它也没有提供实现And运算符的示例。
因此,对于查找“And”或“Or”等重载运算符的示例而言,Google不是一个好的选择,因为它会尝试将它们解析为搜索查询本身的运算符. MSDN也没有提供如何实现重载And运算符的示例,所以我不确定如何为我的项目正确地重载它.有没有人至少有一个“和”的例子? “或”或“Xor”(或任何其他人)将是奖金.我不确定我是否需要在我的对象中重载这些操作符,因为我还在构建它们并且还没有计划好.但是有可能被谷歌索引的例子可能有助于拯救很多人的理智……
您重载逻辑运算符的方式与重载一元或算术运算符的方式相同.我实际上无法想到这个目前有用的情况,但是为了举例,这里是一个覆盖And和Or运算符的示例结构:
Public Structure Foo Public Shared Operator And(ByVal val1 as Foo, ByVal val2 as Foo) As Foo ''#(calculate the logical And of the two specified values here) Return New Foo(val1.Bar And val2.Bar, val1.Baz And val2.Baz) End Operator Public Shared Operator Or(ByVal val1 as Foo, ByVal val2 as Foo) As Foo ''#(calculate the logical Or of the two specified values here) Return New Foo(val1.Bar Or val2.Bar, val1.Baz Or val2.Baz) End Operator End Structure
这个MSDN page提供了一些其他的例子和进一步的解释.

