私はBoolと呼ばれる構造体を持っています。それは1つの&のbool値を表現するだけです(構造体のすべてではなく、私の問題があるところです)。私が到達しようとしていることはこの写真でC#:構造暗黙変換のエラーを作成します。
the kind of error i'm talking about
ある
public struct Bool
{
public static readonly Bool Btrue = 1;
public static readonly Bool Bfalse = 0;
int value;
public Bool(int value)
{
this.value = value;
}
public static implicit operator Bool(int x)
{
if (x == 1) return Btrue;
else return Bfalse;
}
}
私は私にエラーの同じ種類を示すために、他のライン(ブールのC = 2)をしたい(int型Aで= 1.2)は赤い線で表示されます(1.2は整数ではありませんが、私はエラーについて話しています)。
入力値(Bool c = 2)[2を意味する]が1または0でない場合、コードの下に赤い線でエラーが表示されます。
あなたは新しいコンパイラエラーを導入することはできません
サイドノート:このコードはあなたの考え方とはまったく機能しません。 'Btrue'と' Bfalse'の両方は、あなたが設定される前にどちらかを返す暗黙の演算子を使用しているので、値0を持ちます。代わりに、コンストラクタを使用して静的フィールドを初期化します。 – Chris
私はそれが構造体のすべてではないと言ったが、とにかく感謝する –