zoukankan      html  css  js  c++  java
  • 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/
    本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。

  • 相关阅读:
    Maven部署构件至远程仓库
    Maven远程仓库的认证
    Maven远程仓库的配置
    Maven实战系列文章
    使用Maven私服的好处
    使用Mavne生成可以执行的jar文件
    Visual Studio for Mac 简介
    HTTP 2.0与HTTP 1.1区别
    使用Microsoft的IoC框架:Unity来对.NET应用进行解耦
    围绕央行系统升级所产生的常见问题
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1519407.html
Copyright © 2011-2022 走看看