是否可以将泛型类映射到复杂类型?我有3个属性的小类- string,int和泛型类型,并希望将string和int ( string实际上是序列化的泛型类型)映射到复杂类型。
我假设这是不可能的,因为泛型类"FQDN“是MyGenericClass<somclass>,而复杂类型概念类型只是MyGenericClass,有没有聪明的解决方案,或者我必须为泛型类的每次使用定义ComplexType?
发布于 2013-03-12 23:58:00
我不知道我是否正确理解了您的意思,但是您为什么不通过覆盖转换操作符来使用自定义类型转换。在下面的示例中,我将我的泛型复杂类隐式转换为非泛型类。
阅读更多@ 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;
}
}https://stackoverflow.com/questions/15365511
复制相似问题