Das ist etwas Merkwürdiges, das ich heute bei meiner Kodierung gesehen habe.
Hier ist der Beispielcode:
public class SomeClass
{
public IUtils UtilitiesProperty { get; set; }
}
public interface IUtils
{
void DoSomething();
}
public class Utils : IUtils
{
void DoSomething();
}
Das lässt sich gut kompilieren.
Was also ist UtilitiesProperty? Ist es ein Util? Was wäre, wenn mehr als eine Klasse IUTil implementieren würde? Würde dann die Kompilierung fehlschlagen?