匿名类型和Object转换

简介: 本文转载:http://www.cnblogs.com/JustRun1983/archive/2012/05/13/2497997.html net中的匿名类型非常好用, 但是开发中遇到一个问题,当把匿名类型作为返回值的时候,会变成object类型,如果才能再转换能对应的匿名类型呢?   ...

本文转载:http://www.cnblogs.com/JustRun1983/archive/2012/05/13/2497997.html

net中的匿名类型非常好用, 
但是开发中遇到一个问题,当把匿名类型作为返回值的时候,会变成object类型,如果才能再转换能对应的匿名类型呢?

 

// 返回匿名类型的函数, 会转换成object类型
object ReturnAnonymous() {
    return new { City="Prague", Name="Tomas" };
}

void Main()
 {
      // 调用方法,获取object对象
      object o = ReturnAnonymous();
      //使用定义的Cast函数,再转换成我们需要的匿名类型对象
      var typed = Cast(o, new { City="", Name="" });
      Console.WriteLine("{0}, {1}", typed.City, typed.Name)
}

// Cast方法执行转换
T Cast<T>(object obj, T type) {
     return (T)obj;
}

 

  

建议封装一个扩展方法使用;

 public static class Extension
    {

           public static T ChangeType<T>(this object obj, T t)
        {
            return (T)obj;
        }

    } 

目录
相关文章
|
5月前
|
Java
Java Object 类
5月更文挑战第16天
|
2月前
|
Java
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法
|
5天前
|
Python
类与面向对象编程(Object-Oriented Programming, OOP)
类与面向对象编程(Object-Oriented Programming, OOP)
12 0
|
2月前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
33 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)
|
2月前
|
算法 Java
12 Java常用类(一)(内部类+object类+包装类)
12 Java常用类(一)(内部类+object类+包装类)
29 5
|
3月前
|
Java
Java中的Object类 ( 详解toString方法 | equals方法 )
Java中的Object类 ( 详解toString方法 | equals方法 )
|
5月前
|
存储 算法 Java
滚雪球学Java(42):探索对象的奥秘:解析Java中的Object类
【5月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
49 2
滚雪球学Java(42):探索对象的奥秘:解析Java中的Object类
|
4月前
|
Java
【Java】Object类简单解析
【Java】Object类简单解析
45 1
|
4月前
|
前端开发 JavaScript Java
Java基础10-深入理解Class类和Object类(二)
Java基础10-深入理解Class类和Object类(二)
42 5
下一篇
无影云桌面