私が理解していること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 };
}
}