私のコンテナオブジェクトには、List<AbstractBaseClass>
という専用オブジェクトと、AbstractBaseClassから派生したいくつかの具象タイプの公開リストが含まれています。オブジェクトは、Add(AbstractBaseClass ABC)
メソッドを介してAbstractBaseClassを参照することによってコンテナクラスに追加されます。抽象的な参照のリストから具体的なオブジェクトのリストを生成
パブリックリストが要求
public List<ConcreteClass> ConcreteList
{
get
{
return
from a in _abc
Where a is ConcreteClass
select(a as ConcreteClass)
}
}
にLINQクエリから生成されているが、これは許容可能な方法か?オブジェクトはここで2回ConcreteClassにキャストされていて、非効率的です。
[「Is Is As Is Is Is Is Is Is?]」(http://blogs.msdn.com/b/ericlippert/archive/2010/09/16/is-is-as-or-is-) as-is.aspx) –