您的位置:首页 > 其它

使用Assembly生成带参数的泛型实例

2008-01-12 10:04 323 查看
public class DataAccess<T>

{

protected static readonly string _path = ConfigurationSettings.AppSettings["WebDAL"];

public static IDAL.ITreeTable<T> CreatTreeTable(string tableName, string idName, string parentIdName, string displayOrderName)

{

if (string.IsNullOrEmpty(tableName) || string.IsNullOrEmpty(idName) || string.IsNullOrEmpty(parentIdName))

throw new Exception("tableName,idName,parentIdName,displayOrder必须设置.");

string className = _path + ".TreeTable`1[[" + typeof(T).FullName + "," + typeof(T).Assembly.ToString() + "]]";

Assembly assembly = Assembly.Load(_path);

Type t = assembly.GetType(className);

object[] args = new object[4];

args[0] = tableName;

args[1] = idName;

args[2] = parentIdName;

args[3] = displayOrderName;

return (IDAL.ITreeTable<T>)Activator.CreateInstance(t, args);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐