可以将泛型类映射到复杂类型吗?
我有一个小类,有3个属性 – 字符串,整数和泛型类型,并希望将字符串和int(字符串实际上是序列化泛型类型)映射到复杂类型.
我有一个小类,有3个属性 – 字符串,整数和泛型类型,并希望将字符串和int(字符串实际上是序列化泛型类型)映射到复杂类型.
我认为这是不可能的,因为泛型类“FQDN”是MyGenericclass< somclass>复杂类型的概念类型只是MyGenericclass是否有聪明的解决方案,或者我必须为泛型类的每种用法定义ComplexType?
解决方法
我不知道我是否理解正确,但为什么不通过覆盖转换运算符来使用自定义强制转换.在下面的示例中,我将通用复杂类隐式地转换为非泛型类.
阅读更多@ How do I provide custom cast support for my class?
public class ClassComplex<T> { public T MyGenericValue { get; set; } public string MyStringValue { get; set; } public int MyIntValue { get; set; } public static implicit operator ClassComplex(ClassComplex<T> a) { return new ClassComplex() { MyIntValue = a.MyIntValue,MyStringValue = a.MyStringValue }; } } public class ClassComplex { public string MyStringValue { get; set; } public int MyIntValue { get; set; } } public class Test { public test() { ClassComplex<int> ccg = new ClassComplex<int>(); ccg.MyGenericValue = 1; ccg.MyIntValue = 2; ccg.MyStringValue = "3"; ClassComplex cc = ccg; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。