Redian新闻
>
着急求教一個c#問題,怎么能func的時候,subscribe (转载)
avatar
着急求教一個c#問題,怎么能func的時候,subscribe (转载)# DotNet - 窗口里的风景
P*o
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
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。