据我了解Foo
,当将类型传递给期望 int 的方法时,我可以将其自动转换为 int。我也可以做另一个方向吗?即有一个 int 隐式转换为Foo
并且这个定义也在 foo 中?
我的理解可能不正确。
据我了解Foo
,当将类型传递给期望 int 的方法时,我可以将其自动转换为 int。我也可以做另一个方向吗?即有一个 int 隐式转换为Foo
并且这个定义也在 foo 中?
我的理解可能不正确。
你可以。
class Foo
{
public Foo(int value)
{
this.Value = value;
}
public int Value { get; set; }
// ImplicitSample -> int
public static implicit operator int(Foo input)
{
return input.Value;
}
// string -> ImplicitSample
public static implicit operator Foo(int input)
{
return new Foo(input);
}
}
本文中的示例将更好地展示它,然后我可以解释:http: //msdn.microsoft.com/en-us/library/z5z9kes2.aspx
是的你可以。
public class Foo
{
public int Value { get; set; }
public static implicit operator int(Foo foo)
{
return foo.Value;
}
public static implicit operator Foo(int value)
{
return new Foo() { Value = value };
}
}