-1

私はジェネリック静的クラスを持っています:

 public static class IsolatedStorageCacheManager<BagType>
 {
 }

と方法:

       public static BagType Retrieve()
    {
        BagType obj = default(BagType);
        try
        {
            IsolatedStorageFile appStore = IsolatedStorageFile.GetUserStoreForApplication();
            string fileName = string.Format(CultureInfo.InvariantCulture, "{0}.xml", obj.GetType().Name);
            if (appStore.FileExists(fileName))
            {
                using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(fileName, FileMode.Open, appStore))
                {
                    using (StreamReader sr = new StreamReader(isoStream))
                    {
                        System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(obj.GetType());
                        obj = (BagType)x.Deserialize(sr);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            log.Error(ex.Message);
        }

        return obj;
    }

Retriveメソッドで特定のタイプをBagTypeとして送信するにはどうすればよいですか?リフレクションを使用しようとしましたが、結果がありません; /

4

1 に答える 1

1

あなたが何を望んでいるのかよくわかりませんが、これは役に立ちますか?

public static class IsolatedStorageCacheManager<BagType>
{
    public static Type Retrieve()
    {
        return typeof(BagType);
    }
} 
于 2012-09-23T00:43:22.133 に答える