天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

LINQ TO Reflection

  引言

  我們平時開發中不可避免,或者說,經常性的使用反射。但是卻沒有一個合適的類庫幫助我們更好的利用反射。從早期的FastInvoker,到老趙的 fastreflectionlib ,無一不是在強調Fast。這是因為反射的性能損耗比較厲害,所以大家都集中精力解決性能的問題,但是在易用性方面卻鮮有改進。今天我為大家帶來一個即兼顧性能又具有良好的使用體驗的反射類庫.

  .Metadata()

  此類庫以LINQ TO Object為基礎,可以通過調用.Metadata()方法獲取對應Type的完整Metadata信息。此信息會被進行緩存,并且使用fastreflectionlib的核心Lambda代碼,利用DynamicMethod代替直接的反射執行。

        public static Metadata Metadata(this object instance)
{
return MetadataCache.Create(instance);
}

     先定義一個MockObject

        class MockAttribute : Attribute
{
public MockAttribute(string name)
{
this.Name = name;
}
public string Name
{
get;set;
}
}

class MockObject
{
public string Country = "China";

[Mock("this is the name")]
public string Name
{
get;set;
}
public string Blog
{
get;set;
}
[Mock("this is the location")]
public string Location
{
get;set;
}
public string SayHello(string name)
{
return "Hi," + name;
}
}
}

   1.如何獲取一個屬性,并進行取值、賦值?

        using Sparrow.Reflection;
[TestMethod]
public void set_property_value()
{
var obj = new MockObject { Name = "dayi", Blog = "http://walkingboy.cnblogs.com", Location = "XiaMen" };
var property = obj.Metadata().Properties.Where(i => i.Name == "Location").FirstOrDefault();
var changedLocation = "Xiamen,China";
//get value //var value = property.GetValue(obj); property.SetValue(obj, changedLocation); Assert.AreEqual(changedLocation, obj.Location); }

   2.如果獲取一個字段的值?

        using Sparrow.Reflection;
[TestMethod]
public void get_field_value()
{
var obj = new MockObject();

var field = obj.Metadata().Fields.Where(i => i.Name == "Country").FirstOrDefault();

Assert.AreEqual("China", field.GetValue(obj));
}

NET技術LINQ TO Reflection,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 中文字幕爆乳JULIA女教师 | 亚洲三级黄色片 | 日韩AV爽爽爽久久久久久 | 国内精品久久久久影院老司 | 国产亚洲精品线视频在线 | 免费特黄一区二区三区视频一 | 日日AV夜夜添久久奶无码 | 天天久久狠狠色综合 | 黑粗硬大欧美在线视频 | 99国内偷揿国产精品人妻 | 九九在线免费视频 | 亚洲永久精品AV在线观看 | 色婷婷激婷婷深爱五月小蛇 | 91麻豆精品一二三区在线 | jk白丝袜美女被男人桶 | 中文字幕日本久久2019 | 色中色论坛网站 | 99久久久久精品国产免费麻豆 | 入禽太深在线观看免费高清 | 六级黄色片 | 中文字幕在线视频观看 | 99蜜桃在线观看免费视频网站 | 内射无码AV-区二区在线观看 | 国产 亚洲 中文字幕 在线 | 中文字幕亚洲乱码熟女在线萌芽 | WRITEAS检查身体 | 国产白色视频在线观看w | 日日AV夜夜添久久奶无码 | 吃奶啃奶玩乳漫画 | 大学生一级毛片免费看 | 99热这里只有的精品 | 伊人大香线蕉精品在线播放 | 国产精品亚欧美一区二区三区 | 九色91精品国产网站 | 被老总按在办公桌吸奶头 | 两个女人互添下身高潮自视频 | 女子初尝黑人巨嗷嗷叫 | 亚洲日本欧美天堂在线 | 色久天| 88蜜桃人妻无码精品系列 | 人人舔人人爱 |