我定了如下接口:
public interface IEntity<EntityType>
其中的一个实体:
public class AboutUs : IEntity<AboutUs>
直接调用:
AboutUs aboutUs = new AboutUs();
如果我要去态创建生成IEntity接口应该如何处理。谢谢。
public interface IEntity<T> where T: EntityType
-------------------------------------------------------
public class AboutUs : EntityTypeIEntity<AboutUs> aboutus = .....
-------------------------------------------------------
是这个意思???????????????????????????????
接口无法实例化,你在动态创建的时候应该已经知道了它的具体类型,然后通过
(AboutUs )Activator.CreateInstance(type)
我是被题目诱惑进来的。
之后看了两遍,还是没明白lz的意图。
我明白楼主的意思,不过泛型中间那T是需要咋编译时指定的,无法在运行时动态指定,所以楼主这个问题如果在编译时无法明确T是什么,那就只能反射了。
另外楼主的那个类是由问题的,正确的这样
public interface IEntity<T>
{
void test();
}
public class AboutUs : IEntity<AboutUs>
{
#region IEntity<AboutUs> Members
void IEntity<AboutUs>.test()
{
}
#endregion
}
不是很了解