Ich habe eine Schnittstelle, die eine Eigenschaft einer anderen Schnittstelle hat. Gibt es trotzdem, die untergeordnete Schnittstelle zu exportieren/bereitzustellen/einzuschließen, wenn die übergeordnete Schnittstelle in einer Verwendung referenziert wird.Export-Schnittstellen
//IBar.cs
namespace bar
{
interface IBar
{
public int BarProp { get; set; }
}
}
//IFoo.cs
namespace foo
{
using bar
interface IFoo
{
public IBar FooProp { get; set; }
}
}
//elsewhere.cs
namespace foo
{
//using bar //without this,
IFoo myFoo = new SomeClassThatImplementsIFoo();
myFoo.FooProp.BarProp //<-- BarProp is inaccessable here
}
In elsewhere.cs habe ich einen Verweis auf IFoo, sondern möchte in der Lage sein, Elemente von IBar zuzugreifen, ohne Referenzen und eine using-Anweisung zu IBar schließen zu müssen. Gibt es überhaupt eine Einrichtung von IFoo, so dass es, wenn es referenziert wird, auch IBar mitbringt? So etwas wie die Art #include
s in geraden C. Wenn Sie sagen "Kopieren und Einfügen von IBar in IFoo.cs", werde ich dich ignorieren.
Ich vermute, dass, da ich noch nie etwas gesehen habe, das das tun kann, die Antwort wahrscheinlich ist, dass Sie das in C# nicht tun können.
EDIT: Die Dateien IBar.cs und IFoo.cs sind in separaten Baugruppen
EDIT: Die Schnittstellen sind öffentlich, nicht die Eigenschaften
Entschuldigung, ich wollte damit anzeigen, dass sie sich in verschiedenen Assemblies sowie in verschiedenen Dateien befanden. –