1

ジェネリック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エンティティに渡すことができる一般的なものに変更したいと思います。

この人たちの助けが必要です。ありがとう!

4

3 に答える 3

4
public List<T> RetrieveListFromXml<T>(string appSetting, string module)
{
    throw new NotImplementedException();
}
于 2012-11-24T09:21:37.283 に答える
4

非常に単純です。一般的なTタイプを使用して、内部の動作を決定するだけです。

public List<T> RetrieveListFromXml<T>(string appSetting, string module)
{
    throw new NotImplementedException();
}
于 2012-11-24T09:21:48.313 に答える
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;
    }
于 2012-11-24T09:26:26.267 に答える