新足迹

 找回密码
 注册

精华好帖回顾

· 青涩童年之 瑞亮和素素的故事 (2013-4-4) shadowintopiece · 北陆枫行--- 一个人的追枫之旅 (京都,东京,完结) (2016-8-11) woodywup
· 足迹的平均工资到底是什么水平?顺道自扒 (2016-1-22) Emwimlla · PerisherBlue滑雪归来20070609--20070611 (2007-6-14) 阿宝
Advertisement
Advertisement
查看: 1455|回复: 6

请教C#高手之五:How to get one property by its member value [复制链接]

发表于 2010-8-16 11:33 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如题。

在C#里面有没有可能从一个object 的member的value来得到这个object.

public class ObjectA
{
   private string FTagName = “My Tag A";
    public string TagName
    get { return FTagName;}
   set {FTagName = value;}

  private int FQuantity
  public int Quantity
  get {return FQuantity;}
  set (FQuantity = value;}

}

public class ObjectB
{
  private FObjectA
  get { if (FObjectA == null)
             FObjectA = new ObjectA();
           return FObjectA;}
  set (FObjectA = value;}

  //other properties.....
}

假如ObjectB有许多properties, 我想通过passing a string value which matches ObjectA.TagName to get ObjectA, 然后assign value to ObjectA.Quantity. 但不知这样是否能实现,如何实现?

谢谢指教。
持不同股见者...
Advertisement
Advertisement

发表于 2010-8-16 11:42 |显示全部楼层
此文章由 huazhb 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huazhb 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你这个需求不太清楚 如果你在ObjectB中实现这样一个方法,那应该是很容易的,如果你不想放在ObjectB中,你可以通过反射的方法,找到ObjectB的所有属性,一个个试,直到找到ObjectA, 然后给ObjectA赋值。

发表于 2010-8-16 11:56 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这什么意思啊?看不懂
我猜想是lz想要的是,有一批ObjectA的instances,如果其中一个instance有TagName="NameA",就给这个instance的Quantity设成10
是这个意思吗?
If you let people believe that you are weak, sooner or later you’re going to have to kill them.

发表于 2010-8-16 12:12 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 北风 于 2010-8-16 11:56 发表
这什么意思啊?看不懂
我猜想是lz想要的是,有一批ObjectA的instances,如果其中一个instance有TagName="NameA",就给这个instance的Quantity设成10
是这个意思吗? ...

对,就是这个意思。

我想做一个 configuration object (ObjectB), 自动把XML data load 到这个ObjectB depanding nodename 是否等于ObjectB中的property name, 这个已经实现了,但假如ObjectB中的property 本身是object (ObjectA), 我想通过ObjectA的TagName 来locate 这个property, 然后assign value给它。
持不同股见者...

发表于 2010-8-16 12:41 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
让我想到jquery,  类似的应用只要一行代码就足够

发表于 2010-8-16 21:25 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 hornsay 于 2010-8-16 12:12 发表

对,就是这个意思。

我想做一个 configuration object (ObjectB), 自动把XML data load 到这个ObjectB depanding nodename 是否等于ObjectB中的property name, 这个已经实现了,但假如ObjectB中的property 本身是object ...

你说的是不是这个?
http://msdn.microsoft.com/en-us/ ... .xmlserializer.aspx

评分

参与人数 1积分 +5 收起 理由
hornsay + 5 感谢分享

查看全部评分

Advertisement
Advertisement

发表于 2010-8-17 10:51 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jerryclark 于 2010-8-16 21:25 发表

你说的是不是这个?
http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx


粗粗看了一下,感觉应该就是这个feature了。

赞一下,C# real powerful.
持不同股见者...

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部