暗黙的な変換とヌル通報
-
18-09-2019 - |
質問
私はこの機能を持っている。
public static implicit operator MyClass(string v) { return new MyClass(v); }
と書き込みvar.myclass = NULL ;.これは、暗黙のオペレータを呼び出し、自分のコードに大混乱を引き起こした文字列、(私はリフレクションを使用し、特殊なケースを追加したくない)としてnullを渡します。どのように私は暗黙の演算子を起こすことなく、MyClassの=ヌルを書き込むことができますか?
私が書いてみました。
public static implicit operator MyClass(string v) { return v == null ? null : new MyClass(v); }
しかし、それはstackoverflowのが発生します。
解決
私はあなたの問題は三項演算子の両側が同じまたは互換性のあるタイプのものでなければならないということであると信じています。
タグ書いてみ
if (v == null)
return null;
else
return new MyClass(v);
編集:私はあなたの質問が不可能であり、その場合にはMyClass
構造体を作る場合、私は、あなたの問題を再現することができます。構造体はがはnullにすることはできません。
より詳細な情報を提供してください。
所属していません StackOverflow