-
18-09-2019 - |
题
我有这样的功能
public static implicit operator MyClass(string v) { return new MyClass(v); }
和写var.myclass = NULL ;.这就要求隐式操作,并传递空字符串,这将导致混乱在我的代码(我用的反射和不希望添加一种特殊情况)。我怎样才能写MyClass的=空,而不会引起操作者的隐式
我试图写
public static implicit operator MyClass(string v) { return v == null ? null : new MyClass(v); }
但是,这会导致一个计算器
解决方案
我相信你的问题是,三元运算符的两边必须相同或兼容的类型。
试着写
if (v == null)
return null;
else
return new MyClass(v);
修改:我只能重现您的问题,如果我做MyClass
一个结构,在这种情况下,你的问题是不可能的;一个结构的不能为空。
请提供更多的细节。
不隶属于 StackOverflow