• c#泛型作为返回类型的写法


     没有技术含量,已经知道的就直接无视了吧。
    我的本意是要将一个实体参数转换为泛型对象T返回,所以初次代码就写成下面这样:

    代码
            public static T GetObj<T>(Employee model)
            {
                T result 
    = default(T);
                
    if (model is T)
                {
                    result 
    = (T)model; //或者  result = model as T;
                }
                
    return result;
            }

     可是,编译器提示无法将类型转换为T,之前竟然没碰到过这个问题。查了一下资料,原来,要这么写:

    代码
     public class GenericTest
        {
            
    //public static T GetObj<T>(Employee model)
            
    //{
            
    //    T result = default(T);
            
    //    if (model is T)
            
    //    {
            
    //        result = (T)model; //或者  result = model as T;
            
    //    }
            
    //    return result;
            
    //}

            
    public static T GetObj<T>(Employee model)
            {
                T result 
    = default(T);
                
    if (model is T)
                {
                    result 
    = (T)(object)model; //或 (T)((object)model);
                }
                
    return result;
            }
        }

     天杀的ms。

     


    作者:Jeff Wong
    出处:http://jeffwongishandsome.cnblogs.com/
    本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。

  • 相关阅读:
    在emacs上使用博客园的代码功能
    Programming Pearls笔记之一
    Virtualbox中Archlinux联网问题
    微信公众平台消息接口开发集成解决方案
    发送短信
    基于JMS的数据交换既数据互操作平台的解决方案
    Spring MVC基于注解的Junit测试
    获取设置一个字节某一个位的数值
    NotificationManager
    调用系统联系人列表
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1519407.html
Copyright © 2020-2023  润新知