Cor*_*rey 2 c# comparison operators
我很好奇一些运算符如何在对象方面工作(+, - ).
我一直想知道EventHandlers如何通过添加方法来工作:
Foo.Action += new FooActionHandler
Run Code Online (Sandbox Code Playgroud)
如果不是一个事件,那么返回一个比较呢?
DateTime - DateTime
Run Code Online (Sandbox Code Playgroud)
这会返回一个TimeSpan对象,我对这怎么可能感到困惑.我一直使用这些方法,但我从来没有理解它们的内部运作方式.我如何创建自己的类来做这样的事情?
wom*_*omp 10
您可以重载运算符以执行您想要的任何操作. 这里有一些关于如何在C#中完成它的好文档.
它的要点是为操作员(您的类)提供上下文以及参数对其进行的操作.示例可能如下所示:
// Overload '+' for my class
public static MyClass operator +(MyClass c1, MyClass c2)
{
MyClass newMyClass = new MyClass();
newMyClass.MyIntProperty = c1.MyIntProperty + c2.MyIntProperty;
return newMyClass;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |