欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)讀取匿名對(duì)象屬性值的方法示例總結(jié)

 更新時(shí)間:2020年03月13日 11:51:07   作者:willingtolove  
這篇文章主要介紹了C#實(shí)現(xiàn)讀取匿名對(duì)象屬性值的方法,結(jié)合實(shí)例形式總結(jié)分析了C#通過反射、轉(zhuǎn)換等方法讀取匿名對(duì)象屬性值的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了C#實(shí)現(xiàn)讀取匿名對(duì)象屬性值的方法。分享給大家供大家參考,具體如下:

通過new出匿名對(duì)象,可以直接調(diào)用該匿名對(duì)象的屬性名,獲取屬性值。

var objUser = new {Name="Lilei",Age=18 };
//此時(shí)可直接讀取匿名類屬性
Console.WriteLine("Name:" + objUser.Name);// Name:Lilei

但當(dāng)將匿名對(duì)象轉(zhuǎn)換成object后,就無(wú)法直接讀取屬性值了;

static object GetObj()
{
 var obj = new { Name = "Lilei", Age = 18 };
 return obj;
}
static void Main(string[] args)
{
 var obj = GetObj();//此時(shí)已無(wú)法通過obj.Name的方式獲取屬性值了
}

1、通過反射的方式獲取屬性值

static object GetObj()
{
 var obj = new { Name = "Lilei", Age = 18 };
 return obj;
}
static void Main(string[] args)
{
 var obj = GetObj();
 //此時(shí)可通過反射的方式獲取屬性值
 string objName = obj.GetType().GetProperty("Name").GetValue(obj).ToString();
 Console.WriteLine(objName);// Lilei
}

2、新建個(gè)擴(kuò)展方法,將object轉(zhuǎn)成對(duì)應(yīng)的匿名對(duì)象

class Program
{
 static void Main(string[] args)
 {
  var obj = GetObj();
  var user = obj.ObjCast(new { Name = "", Age = 0 });
  Console.WriteLine("Name:{0},Age:{1}", user.Name, user.Age);// Name:Lilei,Age:18

  var objList = GetObjList();
  var userList = objList.Select(p => p.ObjCast(new { Name = "", Age = 0 })).ToList();
  userList.ForEach(p =>
  {
   Console.WriteLine("Name:{0},Age:{1}", p.Name, p.Age);
  });
  // Name:Lilei,Age:18
  // Name:HanMeimei,Age:20
 }
 static object GetObj()
 {
  var obj = new { Name = "Lilei", Age = 18 };
  return obj;
 }
 static List<object> GetObjList()
 {
  List<object> objList = new List<object>();
  objList.Add(new { Name = "Lilei", Age = 18 });
  objList.Add(new { Name = "HanMeimei", Age = 20 });
  return objList;
 }
}
static class Extensions
{
 public static T ObjCast<T>(this object obj, T sample)
 {
  return (T)obj;
 }
}

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#遍歷算法與技巧總結(jié)》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程

希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#構(gòu)建分頁(yè)應(yīng)用的方法分析

    C#構(gòu)建分頁(yè)應(yīng)用的方法分析

    這篇文章主要介紹了C#構(gòu)建分頁(yè)應(yīng)用的方法,結(jié)合實(shí)例形式分析了C#創(chuàng)建分頁(yè)功能的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-01-01
  • c#多線程程序設(shè)計(jì)實(shí)例方法

    c#多線程程序設(shè)計(jì)實(shí)例方法

    在本篇文章里小編給大家分享了關(guān)于c#多線程程序設(shè)計(jì)實(shí)例步驟,需要的朋友們學(xué)習(xí)參考下。
    2019-02-02
  • C#8.0 中開啟默認(rèn)接口實(shí)現(xiàn)方法

    C#8.0 中開啟默認(rèn)接口實(shí)現(xiàn)方法

    這篇文章主要介紹了C#8.0 中開啟默認(rèn)接口實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧的相關(guān)資料
    2019-05-05
  • C#裝飾者模式實(shí)例分析

    C#裝飾者模式實(shí)例分析

    這篇文章主要介紹了C#裝飾者模式,是C#中比較常見的設(shè)計(jì)模式,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法實(shí)例詳解

    C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法實(shí)例詳解

    這篇文章主要介紹了C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法,結(jié)合實(shí)例形式詳細(xì)分析了C#中構(gòu)造函數(shù)與析構(gòu)函數(shù)的原理、定義、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-06-06
  • C#中的is和as操作符區(qū)別小結(jié)

    C#中的is和as操作符區(qū)別小結(jié)

    這篇文章主要介紹了C#中的is和as操作符區(qū)別小結(jié),is是驗(yàn)證操作對(duì)象是不是自己希望的,as是將對(duì)象轉(zhuǎn)換成指定類型,需要的朋友可以參考下
    2015-01-01
  • C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)繪圖graphic的方法示例

    C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)繪圖graphic的方法示例

    這篇文章主要介紹了C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)繪圖graphic的方法,結(jié)合實(shí)例形式分析了C#根據(jù)動(dòng)態(tài)數(shù)據(jù)繪制2D數(shù)據(jù)表格的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • 如何保存Unity中的Log日志

    如何保存Unity中的Log日志

    這篇文章主要介紹了如何保存Unity中的Log日志的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-04-04
  • C#加載嵌入到資源的非托管dll

    C#加載嵌入到資源的非托管dll

    很多朋友遇到過這樣一個(gè)問題需要加載非win32的非托管dll,糾結(jié)該怎么操作呢,下面通過代碼給大家介紹下C#加載嵌入到資源的非托管dll的方法,感興趣的朋友一起看看吧
    2021-05-05
  • C#數(shù)組應(yīng)用分析

    C#數(shù)組應(yīng)用分析

    C#數(shù)組應(yīng)用分析...
    2007-08-08

最新評(píng)論