编程语言
首页 > 编程语言> > c#-基本类型和继承类型的工作通用列表

c#-基本类型和继承类型的工作通用列表

作者:互联网

基本上,我使用的是为所有表创建实体对象的ORM(特别是LLBLGen).所有这些实体类型都从基类(或实际上是它们的集合)继承.我想创建一个扩展方法,该方法接受基类的List并返回一些字符串,但是我想传递继承的类型而无需显式转换.

例如,我有一个类似的功能:

string GetString(List<EntityBase2> list); // also tried List<IEntityCore>, which the base class implements

我想通过这样的事情:

List<ProductEntity> products = ... // populate it

string v = GetString(products);

但是我得到了编译器错误.

我如何完成创建此帮助器方法.如果可以的话,我想避免进行强制转换,但是如果这是最好的方法,那么至少我可以对此进行确认.

解决方法:

尝试这个:

string GetString<T>(List<T> list) where T : IEntityCore {...}

这样,您将获得一个通用方法,该方法采用实现IEntityCore的对象的列表.不需要强制转换,编译器将确保您传递正确的对象.从Framework 2.0开始工作.

标签:generics,c,net
来源: https://codeday.me/bug/20191210/2100335.html