【问题标题】:Good way to relate filepath with object将文件路径与对象相关联的好方法
【发布时间】:2013-07-19 20:46:58
【问题描述】:

我应该如何存储创建或保存对象的文件路径的关系?

例如:

string path = @"C:\File.ext";
MyObject obj = new MyObject(path);

应用程序将存储多个 MyObject,您将如何存储关系(MyObject - 路径)?一本字典?一个新的班级?一种解决方案是向 MyObject 类添加属性 Path,但我认为这是一个坏主意。我的意思是,“知道”它是否被存储并不是文件工作。

【问题讨论】:

    标签: c# design-patterns


    【解决方案1】:

    是的,Dictionary<MyObject, string> 很好。你可以这样做:

    string path = @"C:\File.ext";
    MyObject obj = new MyObject(path);
    _sharedDictionary.Add(obj, path);
    

    然后是:

    string path;
    var found = _sharedDictionary.TryGetValue(obj, out path);
    

    【讨论】:

    • 嗯,不错,我试试。我只是想知道人们是如何做到这一点的。 :)
    【解决方案2】:

    我会尝试使用带有路径作为键和 MyObjects 列表作为值的字典

    【讨论】:

    • 我认为最好使用对象作为键,因为它可以有一个空路径,如果它是内部创建的并且从未保存过。
    【解决方案3】:

    我更喜欢带有额外容器类的解决方案,用于存储您的对象及其路径。

    特别是如果您需要存储除路径之外的一些附加信息(例如日期),或者您将尝试通过其属性搜索对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-28
      • 2017-08-24
      • 2013-01-01
      • 2018-05-05
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多