У меня есть интерфейс, который обладает свойством другого интерфейса. Есть ли в любом случае экспорт/предоставление/включение дочернего интерфейса всякий раз, когда на исходный интерфейс ссылаются при использовании.Интерфейсы экспорта
//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
}
В elsewhere.cs, у меня есть ссылка на IFoo, но хотелось бы иметь возможность доступа к элементам IBar без необходимости включать ссылки и используя заявление IBar. Есть ли все равно, чтобы настроить IFoo так, чтобы всякий раз, когда он ссылался/включался, он также приносил IBar для поездки? Что-то вроде способа #include
s работает в прямой C. Если вы скажете «Скопируйте и вставьте IBar в IFoo.cs», я проигнорирую вас.
Я предполагаю, что, поскольку я никогда не видел ничего, что может это сделать, ответ, вероятно, заключается в том, что вы не можете сделать это на C#.
EDIT: Файлы IBar.cs и IFoo.cs находятся в отдельных сборках
EDIT: интерфейсы являются открытыми, а не свойства
К сожалению, я хотел указать, что они были в разных сборках, а также в разных файлах. –