Bar*_*ğlu 0 .net c# generics generic-collections
我有一个像下面这样的结构.我在返回通用集合时遇到了一些麻烦.我错过了什么?
class Program
{
static void Main()
{
BusinessCollection businessCollection = new BusinessCollection();
//Why this is not working because businesscollection is a GenericCollection<BusinessEntity>
businessCollection = new GenericCollection<BusinessEntity>();
//or neither this
businessCollection = (BusinessCollection)new GenericCollection<BusinessEntity>();
}
}
public class BusinessEntity
{
public string Foo { get; set;}
}
public class BusinessCollection : GenericCollection<BusinessEntity>
{
//some implementation here
}
public class GenericCollection<T> : ICollection<T>
{
//some implementation here
}
Run Code Online (Sandbox Code Playgroud)
你不能做你想做的事.反过来会有效.
所有BusinessCollection
的确是GenericCollection<BusinessEntity>
,但你不能肯定地说,所有GenericCollection<BusinessEntity>
的BusinessCollection
的
所以以下内容将有效.
class Program
{
static void Main()
{
GenericCollection<BusinessEntity> businessCollection = new BusinessCollection();
//this will work
BusinessCollection tempCollection = (BusinessCollection)businessCollection ;
}
}
public class BusinessEntity
{
public string Foo { get; set;}
}
public class BusinessCollection : GenericCollection<BusinessEntity>
{
//some implementation here
}
public class GenericCollection<T> : ICollection<T>
{
//some implementation here
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
122 次 |
最近记录: |