使用此类定义:
public class Wrapper<T>
{
public T Item;
public Wrapper(T item)
{
Item = item;
}
public static implicit operator T(Wrapper<T> wrapper)
{
return wrapper.Item;
}
public static implicit operator Wrapper<T>(T item)
{
return new Wrapper<T>(item);
}
}
我想知道是否有一种方法可以在不做明显Wrapper.Item.Bar();的情况下将方法作为Item用作Wrapper对象。
因此,不要这样做:
Wrapper<Foo> wrappedFoo = new Foo();
wrappedFoo.Item.Bar();
我想这样做:
Wrapper<Foo> wrappedFoo = new Foo();
wrappedFoo.Bar(); //equivalent to wrappedFoo.Item.Bar();
感谢您的帮助。