я следующее:Внутренний интерфейс приводит к СУХОЙ нарушения
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.
Я что-то упустил?
Почему это исправление не должно использоваться «как»? –
В зависимости от варианта использования, возможно. Это просто глупо. –