0
從我的理解我可以有一個類型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 };
}
}
你爲什麼不嘗試呢? –