c# 使用泛型的方法中不能这样赋值吗?
public void Load<T>(List<T> list, string Path)
{
try
{
using (Stream stream = File.Open(Path, FileMode.Open))
{
BinaryFormatter bin = new BinaryFormatter();
List<T> data = (List<T>)bin.Deserialize(stream);
list = data;
}
}
catch
{
list = new List<T>();
}
}
public UserManager(string path)
{
Load<User>(UserList, path);
}
这种做法list总是null,改成下面这样就可以,为什么?..
public List<T> Load<T>(string Path)
{
try
{
using (Stream stream = File.Open(Path, FileMode.Open))
{
BinaryFormatter bin = new BinaryFormatter();
List<T> data = (List<T>)bin.Deserialize(stream);
return data;
}
}
catch
{
return null;
}
}
public UserManager(string path)
{
if (Load<User>(path) != null)
UserList = Load<User>(path);
else
UserList = new List<User>();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
https://docs.microsoft.com/zh...