WEB开发网
开发学院WEB开发ASP.NET LINQ to Reflection反射机制 阅读

LINQ to Reflection反射机制

 2010-12-02 07:06:56 来源:WEB开发网   
核心提示:对于某些应用场景来说,使用LINQ To Object去查询并获取单一的方法、属性,LINQ to Reflection反射机制(4),字段,总觉得还是要写非常多的代码,要先.Metadata(), 接下来.Where(), 虽然代码很优雅,但是还是有很多工作要做

对于某些应用场景来说,使用LINQ To Object去查询并获取单一的方法、属性,字段,总觉得还是要写非常多的代码。要先.Metadata(), 接下来.Where(), 虽然代码很优雅,但是还是有很多工作要做。所以这里也提供一个针对获取单一方法、属性、字段的替代写法。

  1. public static Proxy Proxy(this object instance)  
  2.     {  
  3.       return new Proxy(instance);  
  4.     } 

1.如何获取一个属性的值

  1. using Sparrow.Reflection;      
  2. [TestMethod]      
  3. public void get_value_via_property_proxy()    {        
  4.  var obj = new MockObject { Name = "dayi", Blog = "http://walkingboy.cnblogs.com", Location = "Xiamen" };        
  5.  Assert.AreEqual(obj.Name, obj.Proxy().Properties["Name"]);   
  6.     } 

2.如何设置一个属性的值

  1. using Sparrow.Reflection;    
  2.    [TestMethod]     
  3.   public void set_value_via_property_proxy()    {       
  4.  var obj = new MockObject 
  5. { Name = "dayi", Blog = "http://walkingboy.cnblogs.com", Location = "Xiamen" };       
  6.   var changedLocation = "Xiamen,China";   
  7.    obj.Proxy().Properties["Location"] = changedLocation;     
  8.     Assert.AreEqual(changedLocation,obj.Location);    
  9.   } 

上一页  1 2 3 4 5 6  下一页

Tags:LINQ to Reflection

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接