Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用带有多态性的C#赝品?(基类数组使用不同的派生类)_C#_.net_Bogus - Fatal编程技术网

如何使用带有多态性的C#赝品?(基类数组使用不同的派生类)

如何使用带有多态性的C#赝品?(基类数组使用不同的派生类),c#,.net,bogus,C#,.net,Bogus,我正在使用一个公共API。其中一个类型具有一个属性,该属性是基类的数组,需要使用其派生类(唯一且每个派生类中有一个)填充该基类 我该怎么做呢 addresses = new AddressInfo[] { new PhoneInfo{Number= "111-111-1111", Type = "Home"}, new EmailAddressInfo {MailTo = "home@email.com", Type =

我正在使用一个公共API。其中一个类型具有一个属性,该属性是基类的数组,需要使用其派生类(唯一且每个派生类中有一个)填充该基类

我该怎么做呢

addresses = new AddressInfo[]
{
    new PhoneInfo{Number= "111-111-1111", Type = "Home"},
    new EmailAddressInfo {MailTo = "home@email.com", Type = "Home"},
    new MailingAddressInfo {Street = "101 Champagne Ave", City = "Los Angeles", State= "CA", Country = "US", Type = "Home"}
}

你的API有什么问题?多么可怕的API。您是否正在尝试自动定位和实例化派生类?秩序重要吗?如果您使用的是DI,那么您可能能够为所有DI声明单例,并注入一个
IEnumerable
。至少这样可以避免主代码出现混乱。到目前为止,您尝试了什么?这看起来非常困难-使用伪代码,您将实例化派生类(
PhoneInfo
EmailAddressInfo
,等等)。我看不出有什么问题?