をList<Obj>
とキャストできないのはなぜですか?なぜ次は動作しません:C#リストをキャストする<ObjBase>をリストとして<Obj>
internal class ObjBase
{
}
internal class Obj : ObjBase
{
}
internal class ObjManager
{
internal List<Obj> returnStuff()
{
return getSomeStuff() as List<Obj>;
}
private List<ObjBase> getSomeStuff()
{
return new List<ObjBase>();
}
}
は、代わりに私はこれをしなければならない。
internal class ObjBase
{
}
internal class Obj : ObjBase
{
}
internal class ObjManager
{
internal List<Obj> returnStuff()
{
List<ObjBase> returnedList = getSomeStuff();
List<Obj> listToReturn = new List<Obj>(returnedList.Count);
foreach (ObjBase currentBaseObject in returnedList)
{
listToReturn.Add(currentBaseObject as Obj);
}
return listToReturn;
}
private List<ObjBase> getSomeStuff()
{
return new List<ObjBase>();
}
}
私は(読みやすくするために短縮)2008のVisual Studioで、次のエラーが表示されます。
ができません参照変換、ボクシング変換、アンボクシング変換、ラッピング変換、またはヌル型変換を介して 'List'から 'List'に変換する
ありがとうございます。
-1:http://stackoverflow.com/questions/1263489/how-など、ここでは多くの質問、のDUP 1263514#1263514と答えに引用されているもの –
[.NET Casting Generic List](http://stackoverflow.com)の重複している可能性があります。/questions/674715/net-casting-generic-list) –