使用Interceptors是mixin与调用类其他mixins交互的唯一方法吗?
我希望做下面的事情。
class speak
void Greet()
{ Console.WriteLine("Greetings! My Name is " + self.firstname); }
class person
string firstname;
SpeakingPersonProxy = MixIn(person,speak);
SpeakingPersonProxy.firstname = "Noneya"
SpeakingPersonProxy.Greet() //produces Greetings! My name is Noneya
self.firstname(或类似的东西)会以某种方式指向使用greet的类,而不是speak类。 Ruby有一个类似的概念,这对动态语言很有意义。想知道如何在DynamicProxy中实现这一点。
答案 0 :(得分:0)
内置任何东西,但是阻止你的是什么:
SpeakingPersonProxy = MixIn(person,speak);
speak.Person = person;
所以换句话说,如果speak
hsa知道它的目标,那就明确了。