我的属性有一个自定义包装器对象: MyType<t>
。
我有这些类型的私有(private)成员和 t 类型的公共(public)成员。
我正在尝试加载对象并出现转换错误:
我有以下方法:
private t _value;
public static implicit operator t(MyType<t> obj)
{
return obj._value;
}
任何帮助我让 Actor 发挥作用的东西都会很棒。
更新:
该成员如下所示:
MyType<string> PostalCode = new MyType<string>();
我正在使用 Dapper 加载属性,并且未命中建议的方法。因此,当反射引擎尝试加载对象时,隐式转换不会触发。
最佳答案
你的接线员倒退了。它支持从 MyType<t>
到 t
的转换。你想反过来。也许这样的事情就是你正在寻找的。
private t _value;
private MyType(t val)
{
_value = val;
}
public static implicit operator MyType<t>(t obj)
{
return new MyType<t>(obj);
}
使用构造函数是可选的,我个人只是觉得更干净。您可以只使用默认构造函数并在您的运算符中显式设置字段。
关于c# - Cast - 字符串到 Custom<string>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7092996/