是否可以创建通用的IList方法?以下是我希望它实现的方式:
List<Entity1> lstEnt1 = _myClass.GenerateListFromXml<Entity1>(@"C\test.xml");
List<Entity2> lstEnt2 = _myClass.GenerateListFromXml<Entity1>(@"C\test.xml");
这是我到目前为止所得到的:
public List<XMLModule> RetrieveListFromXml(string appSetting, string module)
{
throw new NotImplementedException();
}
我想将XMLModule
更改为我可以在实体中传递的通用名称。
需要帮助这些家伙。谢谢!
答案 0 :(得分:4)
public List<T> RetrieveListFromXml<T>(string appSetting, string module)
{
throw new NotImplementedException();
}
答案 1 :(得分:4)
非常简单,只需使用通用T类型然后决定内部行为。
public List<T> RetrieveListFromXml<T>(string appSetting, string module)
{
throw new NotImplementedException();
}
答案 2 :(得分:0)
你可以使用这样的东西(我忽略了你的appSetting / module参数,并根据你在上面使用的XML文件路径)
public static List<T> RetrieveListFromXml<T>(string xmlFilePath)
{
var serializer = new XmlSerializer(typeof(List<T>));
object result;
using (var stream = new FileStream(xmlFilePath, FileMode.Open))
{
result = serializer.Deserialize(new FileStream(xmlFilePath, FileMode.Open));
}
return (List<T>)result;
}