方法或函数也可以用泛型

原来泛型不单只对类的,也可以只使用在方法或函数里面:

    public abstract class BaseClass
    {
        protected static T MyGetModel<T>(DataTable dt) where T : class,new()
        {
            DataRow dr = dt.Rows[0];
            T model = new T();
            PropertyInfo[] pis = model.GetType().GetProperties();
            foreach (PropertyInfo pi in pis)
            {
                try
                {
                    if (dt.Columns.Contains(pi.Name) && dr[pi.Name].ToString() != "")
                    {
                        pi.SetValue(model, dr[pi.Name] ?? "", null);
                    }
                }
                catch { }
            }
            return model;
        }
    }


posted on 2011-12-02 18:31  左直拳  阅读(154)  评论(0编辑  收藏  举报

导航