我想知道是否有人能够想到一个很好的解决方法,因为无法在自己的类上为对象添加隐式强制转换操作符.以下示例说明了我想要的代码类型
public class Response { public string Contents { get; set; } public static implicit operator Response(object source) { return new Response { Contents = source.ToString(); }; } }
这将无法编译,因为它扰乱了C#编译器,它告诉我
user-defined conversions to or from a base class are not allowed
将响应转化为响应和行动
public static implicit operator Response<T>(T source)
遗憾的是不是一种选择.我的猜测是否定的,但任何人都可以想到一个很好的解决方法/黑客来实现这一点.我很乐意能够做到
public Response Foo() { return new Bar(); }
最后得到一个表示Whatever.Namespace.Bar的Response.Contents