使用增量点表示法构造字符串

时间:2016-02-17 08:18:24

标签: c#

我有一种情况,我希望能够动态构建一个xpath,最好使用增量网功能点符号,例如:

var xpath = new Xpath().base.result.entry.name['ethernet1/1']

会返回类似的内容:

/device[@type=base]/result/entry[@name='ethernet1/1']

到目前为止,我得到了这段代码:

public class Xpath
{
    private StringBuilder _stringBuilder { get; set; }

    public Xpath base => this.Append("base");
    // other similar (^) properties here

    internal Xpath Append(string value)
    {
        _stringBuilder.Append(value);
        return this;
    }

    public override string ToString()
    {
        return _stringBuilder.ToString();
    }
}

代码可以工作,但是如果可能的话,我希望避免为每个可能的增量编写属性,而是让它只根据动态对象的所有属性构造一个字符串。

我试过看看我可以用dynamic属性做些什么,但是我找不到任何可以帮助我朝正确方向发展的例子。

是否有人遇到过类似的问题,或者对如何解决此问题有任何更好的建议?

谢谢!

0 个答案:

没有答案