我在这种情况下主要将接口用作对象的不可变实例的句柄。问题是C#中的嵌套接口是不允许的。这里是代码:嵌套接口的替代方案(在C#中不可能)
public interface ICountry
{
ICountryInfo Info { get; }
// Nested interface results in error message:
// Error 13 'ICountryInfo': interfaces cannot declare types
public interface ICountryInfo
{
int Population { get; }
string Note { get; }
}
}
public class Country : ICountry
{
CountryInfo Info { get; set; }
public class CountryInfo : ICountry.ICountryInfo
{
int Population { get; set; }
string Note { get; set; }
.....
}
.....
}
我正在寻找替代品,任何人都会有一个解决方案?
为什么要'ICountryInfo'嵌套是否有任何特殊原因? – AakashM 2010-02-18 08:45:15
是的,该应用程序包含超过100个类,其中许多嵌套类具有相同的名称。如果我保留这个设置,它会更干净。至于使用接口,这是一种获得不可变对象的方式。一旦对象被实例化,主应用程序主要使用依赖注入模式处理它们相应的接口。 – ericdes 2010-02-18 11:42:07