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 回答