我有以下幾點:內部接口通入乾燥違反
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」? –
取決於用例,它可能是。它只是覺得愚蠢。 –