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

  • 相关阅读:
    来实现一个缩水版Vuex
    vue中的适配:px2rem
    Vue.js的复用组件开发流程
    Vue调试神器之Vue.js devTools
    浅析Vue响应式原理(三)
    逐行粒度的vuex源码分析
    vue源码解读-目录结构
    Vue源码探究-虚拟DOM的渲染
    利用hash或history实现单页面路由
    passive的作用和原理
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1519407.html
Copyright © 2011-2022 走看看