返回

c#-如何从字符串设置模型名称?

发布时间:2022-07-30 13:33:20 218
# flask

我有三种型号:客户、订单、汽车

 //i need replace  to 
    public BindingList LoadData()
    {
        var fileExists = File.Exists(PATH);
        if (!fileExists)
        {
            File.CreateText(PATH).Dispose();
            return new BindingList();
        }
        using (var reader = File.OpenText(PATH))
        {
            var fileText = reader.ReadToEnd();
            return JsonConvert.DeserializeObject<BindingList>(fileText);
        }
    }

但我需要创建一种通用方法来加载所有三个模型的数据,这样它就不会看起来像是同一个类的复制粘贴,其中只有模型名称不同。

 //This code looks really stupid
    public BindingList LoadDataCustomer()
    {
        var fileExists = File.Exists(PATH);
        if (!fileExists)
        {
            File.CreateText(PATH).Dispose();
            return new BindingList();
        }
        using (var reader = File.OpenText(PATH))
        {
            var fileText = reader.ReadToEnd();
            return JsonConvert.DeserializeObject<BindingList>(fileText);
        }
    }
    //Copy-paste and replace Customer to Order ..
    public BindingList LoadDataOrder()
    {
        var fileExists = File.Exists(PATH);
        if (!fileExists)
        {
            File.CreateText(PATH).Dispose();
            return new BindingList();
        }
        using (var reader = File.OpenText(PATH))
        {
            var fileText = reader.ReadToEnd();
            return JsonConvert.DeserializeObject<BindingList>(fileText);
        }
    }
    //Copy-paste and replace Customer to Auto ..
    public BindingList LoadDataAuto()
    {
        var fileExists = File.Exists(PATH);
        if (!fileExists)
        {
            File.CreateText(PATH).Dispose();
            return new BindingList();
        }
        using (var reader = File.OpenText(PATH))
        {
            var fileText = reader.ReadToEnd();
            return JsonConvert.DeserializeObject<BindingList>(fileText);
        }
    }

问题是我需要再创建5个模型,对于每个模型,我必须创建自己的LoadData()类。这太愚蠢了。在我看来,如果我从要传递的字符串中获得模型的名称,那么代码看起来会更好。

  //Get Model Name From String
    public BindingList< Get Model Name From String > LoadData()
    {
        var fileExists = File.Exists(PATH);
        if (!fileExists)
        {
            File.CreateText(PATH).Dispose();
            //Get Model Name From String
            return new BindingList< Get Model Name From String >();
        }
        using (var reader = File.OpenText(PATH))
        {
            var fileText = reader.ReadToEnd();
            //Get Model Name From String
            return JsonConvert.DeserializeObject<BindingList< Get Model Name From String >> (fileText);
        }
    }
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像