我有以下几点:内部接口通入干燥违反
internal class Person {
}
internal interface IGetPerson {
Person GetPerson();
}
public class Cat: IGetPerson {
private Person _Person = new Person();
Person IGetPerson.GetPerson() {
return _Person;
}
internal Person GetPerson() { // dry violation -- necessary?
return _Person; // or return (this as IGetPerson).GetPerson();
}
}
这似乎是必要得到以下编译,没有“为”铸:
internal class SomeClass {
public static Person GetPerson(Cat someCat) {
return someCat.GetPerson();
}
}
的结果是除非我错过了某些东西,否则采用内部接口将不可避免地导致这种干扰。另一种方法是公开Person类。
我错过了什么吗?
为什么修复不能“使用'作为'cast”? –
取决于用例,它可能是。它只是觉得愚蠢。 –