C# 通过实例化嵌套类的类型来解决问题
我试图使用反射在C中实例化一些自定义类型。 我有以下课程:C# 通过实例化嵌套类的类型来解决问题,c#,reflection,C#,Reflection,我试图使用反射在C中实例化一些自定义类型。 我有以下课程: public class FKey<Type> : IFKey { public class Opt { } // with no properties ... public string MyProp1 { get; set; } public string MyProp2 { get; set; } ... } 实例化FKey类型的整个过程都很好,但当我尝试对FKey.Op
public class FKey<Type> : IFKey
{
public class Opt { } // with no properties
...
public string MyProp1 { get; set; }
public string MyProp2 { get; set; }
...
}
实例化FKey类型的整个过程都很好,但当我尝试对FKey.Opt类型进行实例化时,问题出现了,这会引发InnerException:
你知道我怎样才能解决这个问题吗
提前感谢,感谢@Panagiotis和@Hasan的评论,我成功地解决了这个问题:
public class FKey<Type> : BaseFKey
{
public class Opt : BaseFKey { } // with no properties
}
public class BaseFKey<Type> : IFKey
{
...
public string MyProp1 { get; set; }
public string MyProp2 { get; set; }
...
}
谢谢 为什么它会困扰你呢?错误很明显-Opt没有实现IFKey,所以它不能被强制转换。你想干什么?为什么你有一个没有成员的类?嵌套类,在你的例子中,Opt并没有神奇地实现IFKey。因此,当您尝试将其强制转换为IFKey时,会出现异常
InvalidCastException: Unable to cast object of type 'Opt[wap.database.model.Models+ArticleItems]' to type 'shared.models.database.IFKey'.
public class FKey<Type> : BaseFKey
{
public class Opt : BaseFKey { } // with no properties
}
public class BaseFKey<Type> : IFKey
{
...
public string MyProp1 { get; set; }
public string MyProp2 { get; set; }
...
}