2010-04-05 100 views
1

我开发了应用程序功能的一部分。我有数据绑定对象'A'和另一个对象'B'。C#。将对象绑定到对象

public class SomeProxy 
{  
    public SomeProxy(BindingSource A) 
    {   
     var b = new B(A.SomeProperty);   
    } 
} 

public class B 
{ 
    public B(List<T> somePropertyFromA) 
    { 
     SomePropertyFromA = somePropertyFromA; 
    } 

    public int SomePropertyFromA{get;set;} 

    //Some autocalculated propeties, that are based on SomePropertyFromA 

    //I want to reculculate them, when the SomePropertyFromA will be changed 
} 

'B' 对象culculates一些值,基于所述属性 'A' 的 'A' 的对象。 我想将对象'B'中的属性绑定到'A'中的同一个属性'a'。需要处理'a'属性的更改,因为某些UI控件绑定到'B'属性。 我该怎么做?

对不起,有些奇怪。谢谢

+1

你的问题不清楚。你如何做绑定?什么是“数据绑定对象”?如果你发布了一些代码,它会有所帮助。 – 2010-04-05 20:17:52

+0

对不起,我试着问这个问题比较清楚.. – w1z 2010-04-05 20:37:32

+0

如果你把对象绑定在一起。查看Automapper(http://automapper.codeplex.com/Wikipage)它支持将一个对象的属性绑定到基于来自另一个对象的数据的方法或您选择的方法。所以a.GetTotal()可以设置为b.Total和更复杂的场景。 – Jab 2010-04-05 20:43:13

回答

1

你的意思是你需要一个双向链接?

A和B都可以具有指向对方的属性。只要确保创建A的对象B -outside-,以便可以执行依赖注入。 秩序的事情应该是:

B objectB = new B(); 
A objectA = new A(objectB); 

基本规则:不要在创建对象的构造函数。

+0

Yeap ..我深信,我不能完全明确地指出这个问题。 – w1z 2010-04-05 20:52:02