Pat*_*son 41 .net c# operator-overloading null-coalescing-operator
是否可以在C#中覆盖类的null-coalescing运算符?
比方说,如果实例为null,我想返回默认值,如果不是,则返回实例.代码看起来像这样:
return instance ?? new MyClass("Default");
Run Code Online (Sandbox Code Playgroud)
但是如果我想使用null-coalescing运算符来检查是否设置了MyClass.MyValue呢?
当然没有真正的需要(至少我是这么认为) - 所以在你回答"你为什么要这样做"之前 - 我只是好奇是否有可能.
Sim*_*mon 30
好问题!它没有在可重载和不可重载的运算符列表中以这种或那种方式列出,并且在运营商页面上没有提到任何内容.
所以我尝试了以下方法:
public class TestClass
{
public static TestClass operator ??(TestClass test1, TestClass test2)
{
return test1;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误"预期可重载二进制运算符".所以我要说答案是,从.NET 3.5开始,没有.
归档时间: |
|
查看次数: |
3850 次 |
最近记录: |