我知道這聽起來微不足道,但是當我將一個A變量傳遞給一個需要IMyIntercace的函數時,它有可能返回b字段嗎?然後我不必在類A中實現Hello()函數,而只需將b作爲IMyInterface返回即可。我可以實現一個接口並在返回時將其作爲字段使用嗎?
interface IMyInterface
{
void Hello();
}
class A : IMyInterface
{
B b = new B();
}
class B : IMyInterface
{
public void Hello()
{
Console.WriteLine("Hello");
}
}
class Program
{
static void foo(IMyInterface myInterface)
{
myInterface.Hello();
}
static void Main(string[] args)
{
A someVariable = new A();
foo(someVariable);
}
}
我想它不能做,但有沒有任何設計模式或技巧可以做到這一點?
編輯
的原因,我不想得到一個是因爲也許我想這樣做
class A : IMyInterface
{
B b = new B();
B b2 = new B();
IMyInterface bPointer;
}
然後我可以指向根據一些情況,B的一個
爲什麼你有這樣的需求?設計將取決於你想達到什麼目的? –
爲什麼不'A類:B'? –