man*_*llt 5 .net c# proxy casting operator-overloading
我有这段代码:
public class Leg : ProxiestChild
{
public virtual Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题是:
var leg = new Leg(); // leg is not Leg, instead ProxiedLeg
var trueleg = (Leg)leg; // exception leg is a ProxiedLeg
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西
public class ProxiestChild
{
// some method that overloads explicit CAST
// where receiving the proxied object i returns the unproxied object
// to be casted
}
Run Code Online (Sandbox Code Playgroud)
Ada*_*rth 14
您可以使用转换运算符实现自定义类型转换,implicit
或者explicit
在此处详细说明:
http://msdn.microsoft.com/en-us/library/85w54y0a(v=VS.100).aspx
要小心这一点,为了便于阅读,看到一种类型神奇地投射到另一种类型通常会让人感到困惑 - 人们并不总是首先认为存在转换操作符.