设置属性时设置其他属性

时间:2013-10-23 10:32:28

标签: c# properties

我有一个包含许多属性的类。

Inparticlular,这样的2个属性是相关的。

public string FileName { get; set; }
public string Path { get; set; }

使用XmlReader设置FileName属性,但我不想将路径存储在xml文件中。

我想要做的是设置FileName属性的值,并设置Path属性。我有两个问题:

  1. 设置这样的属性的做法是否可以实践?
  2. 在从XmlReader映射时,有没有更好的方法来实现这一点?

2 个答案:

答案 0 :(得分:1)

尝试这样的事情。

private string path;

public string FileName { get; set; }
public string Path 
{
    get 
    { 
        return path; }
    set 
    { 
        path = value;
        FileName = Path.GetFileName(value);
    } 
}

答案 1 :(得分:1)

如果可以从另一个属性计算一个属性,通常的方法是这样做:只要访问它就计算它。类似的东西:

public string Path { get; set; }

public string FileName
{
    get { return System.IO.Path.GetFileName(this.Path); }
}