使用未分配的本地變量「模型」。是我收到了什麼錯誤信息。它的權利,我說如果(模型== null)。我不知道爲什麼它給我一個編譯時間錯誤..有人請幫助。通用方法中的「使用未分配的本地變量」
public static T TryGet<T>(string fileName) where T : new()
{
T model;
using (var storageFile = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var stream = new IsolatedStorageFileStream(fileName, FileMode.Open, storageFile))
{
if (stream.Length > 0)
{
var serializer = new DataContractSerializer(typeof(T));
model = (T)serializer.ReadObject(stream);
}
}
}
if (model == null)
{
model = new T();
}
return model;
}
這與作爲參考類型無關。另外,`T`不是參考類型。 – SLaks 2011-02-06 00:31:52
@SLaks,我沒有看到帖子中的任何內容,暗示「T」不是引用類型。現在的代碼只適用於值類型。對於引用類型,他必須分配空值,默認值或新對象。 – 2011-02-06 00:34:00
除非你寫`where T:class`,`T`不是引用類型。 – SLaks 2011-02-06 00:35:24