|
|
|
|
|
|
P*****o 发帖数: 1077 | 1 obj2和obj1是同一個interface A的class的实例。
比如一个funcobj2.value = () => obj1.Value+1
在执行这个func时候,也就是get obj1的Value的时候obj1.Value
obj2 subscribe obj1
这样做的目的是,以后obj1的参数改变的时候,obj2可以得到通知,obj2的value也會
被(obj2.value = () => obj1.Value+1)更新,请问怎么实现?
説法一 :
據説,用interface A的concrete implementation,和obj1,obj2的可以怎麽private
通信?
求教!!
問題和這個人的類似,但是還是不知道怎麽做
http://stackoverflow.com/questions/26722900/c-sharp-how-to-access-instances-of-a-particular-type-that-are-used-in-funcint
大家有見過這樣的問題麽?
----------------------------------------
就是爲了這種效果:
var fraction = DynamicProperty.Create(0.5);
var percent = DynamicProperty.Create(() => fraction.Value *
100, p => fraction.Value = p / 100);
var displayUnits = DynamicProperty.Create("fraction");
var displayValue = DynamicProperty.Create(
() => displayUnits.Value == "fraction" ? fraction.Value :
percent.Value,
v =>
{
if (displayUnits.Value == "fraction") fraction.Value = v;
else percent.Value = v;
});
var subscription = displayValue.Subscribe(Console.WriteLine)
; // prints out the display value whenever it changes
fraction.Value = 0.25; // prints 0.25
percent.Value = 30; // prints 0.3
displayUnits.Value = "percent"; // prints 30
displayValue.Value = 100; // prints 100
//fraction.Value; // 1
//percent.Value; // 100
subscription.Dispose(); // stop listening
percent.Value = 10; // nothing prints | l**********6 发帖数: 10 | 2 楼主 不太看得懂你发的,能不能详细解释一下
“比如一个funcobj2.value = () => obj1.Value+1” 中的 funcobj2 是什么?
“在执行这个func时候,也就是get obj1的Value的时候obj1.Value
obj2 subscribe obj1” 中 obj1.Value obj2 subscribe obj1 是什么意思? |
|
|
|
|
|