.
. , , , . , .
- , :
class A
{
public void Foo();
}
class B
{
public static implicit operator A(B me)
{
return new A();
}
}
, , :
public void Bar<T>(T obj) where T : A
{
obj.Foo();
obj.Foo();
obj.Foo();
}
( : Bar(new B())), NEW , Foo B. , . , ? , , ? , ...