これを動作させるにはどうすればよいですか?それは私にエラーを与えることはできませんimplicitly convert
。 WebアプリケーションにDTOがたくさんあり、プレースホルダ変数が必要です。dtoのリストを動的リストに変換できません
注:これは私のWebAppの実際のコードではありません。これは私がやりたいことと同じ考え方です。
public class DTO1
{
public int Id { get; set; }
public string Name { get; set; }
}
public class DTO2
{
public int Id { get; set; }
public string Name { get; set; }
}
public class DTO1Service
{
public static List<DTO1> GetListOfDTO1()
{
return new List<DTO1>
{
new DTO1 { Id = 1, Name = "DTO 1" },
new DTO1 { Id = 2, Name = "DTO 2" }
};
}
}
public class DTO2Service
{
public static List<DTO2> GetListOfDTO2()
{
return new List<DTO2>
{
new DTO2 { Id = 1, Name = "DTO 1" },
new DTO2 { Id = 2, Name = "DTO 2" }
};
}
}
public class Program
{
public static void Main(string[] args)
{
var entities = new List<dynamic>();
var serviceType = Console.ReadLine();
if(serviceType == "1")
entities = (dynamic)DTO1Service.GetListOfDTO1();
else if (serviceType == "2")
entities = (dynamic)DTO2Service.GetListOfDTO2();
Console.ReadLine();
}
}
あなたがエラーを取得しその一部上の任意の例を..?私は 'DTO'の部分についてはわかりませんが、' DT01'を 'DT02'にキャストすることはできません..そのスーパークラスにキャストできるのは.. –
' entity =(dynamic)DTO01Service .GetListOfDTO01(); ' – markoverflow
ああ、リストメンバーの代わりにリスト自体をキャストしようとしているからです。 –