3

重複の可能性:
C# での代入演算子のオーバーロード

スタックオーバーフローのどこかでこの質問を見たのを覚えていますが、見つかりません。

基本的に私はできるようになりたいです:

MyClass myClass = 5;

MyClass は、プログラムによって実装されたクラスです。

その重複を見つけたら、この質問を削除します。

4

3 に答える 3

7

暗黙のキャスト演算子が必要だと思います。

public static implicit operator MyClass(int m) 
{
     // code to convert from int to MyClass
}
于 2012-10-30T14:50:16.590 に答える
3

演算子を実装しimplicitます。

MSDN 暗黙 (C# リファレンス)

于 2012-10-30T14:50:08.713 に答える
1

これを試して:

public class MyClass
{
    public int MyProperty { get; set; }

    private MyClass(int i)
    {
        MyProperty = i;
    }

    public static implicit operator MyClass(int x)
    {
        return new MyClass(x);
    }
}

MyClass myClass = 5;
于 2012-10-30T15:20:12.913 に答える