![](/img/trans.png)
[英]Implicit Reference Conversion from reference type to interface for user defined types
[英]Type conversion from string to User defined type
我有一个字符串类型要分配给' User
'类型的所有者。 我的方法GetFullName
以' string
'格式返回名称,我需要将其分配给' User
'类型的所有者
def.Owner = uf.GetFullName(row["assignedto"].ToString());
任何的意见都将会有帮助,
所以你需要这样的东西:
public class User
{
...
public static implicit operator User(string x)
{
return new User(x);
}
}
就个人而言,我不是隐含转换的粉丝。 你说你“需要”以这种方式分配它...显式构造函数或静态方法调用有什么问题? 或者也许是string
上的扩展方法( ToUser
)?
@ Jon的答案将满足您的需求,但您可能需要查看存储库模式以管理域对象的创建。 这将解决更大的问题,即确保使用域对象的代码不会绕过轴,只管理它们的生命周期和序列化/反序列化。 让存储库处理此类问题并关注您的域逻辑。
有一个转换运算符的解决方案,但是,我个人更喜欢像User.FromString(string s)这样的静态类方法,它解析字符串并构造一个User实例。 这样代码更易读,更容易理解
您可以重载显式/隐式运算符。
看看这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.