将filepath与对象关联起来的好方法

时间:2013-07-19 12:27:28

标签: c# design-patterns

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

例如:

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

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

3 个答案:

答案 0 :(得分:2)

是的,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);

答案 1 :(得分:0)

我会尝试使用一个字典,其中path作为键,MyObjects列表作为值

答案 2 :(得分:0)

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

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