如何在非泛型类中创建泛型类的引用

时间:2014-09-13 17:07:00

标签: c# generics repository-pattern unit-of-work

是否有一种在非泛型类中引用泛型类的方法,例如

public class IGenericClass<T> where T: class
{
}

public class GenericClass<T> : IGenericClass<T> where T : class
{   }

如何在具体类中为IGenericClass创建一个refence。

感谢您的协助

1 个答案:

答案 0 :(得分:0)

是的,你可以。但是,它应该是一个封闭的构造类型,这意味着T应该是预先知道的。

class Client
{
    private IGenericClass<T> instance;// Illegal[1]
    private IGenericClass<object> instance;// Legal, It can be any type.
}

另外,不要使用I Prefix来命名类,这可能会给人一种接口的印象。

<子> 1。如果您有一个名为T的类型,则不合法,否则不是