C#自定义属性shorthad

时间:2017-09-07 20:30:59

标签: c# .net

假设我有一个带有相当长/复杂参数列表的属性。例如:   [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV","|DataDirectory|\\stores.csv","stores#csv", DataAccessMethod.Sequential)]

有没有办法创建自定义属性作为简写,所以我可以只使用[CustomDataSource]而不是为每个方法键入上面的内容?

1 个答案:

答案 0 :(得分:1)

DataSource属性已被密封,您无法继承该属性。

最简单的解决方案是使用常量:

public class Const
{
    public const string Provider = "Microsoft.VisualStudio.TestTools.DataSource.CSV";
    public const string ConnString = "|DataDirectory|\\stores.csv";
    public const string Table = "stores#csv";
    public const string Method = DataAccessMethod.Sequential;
}

[DataSource(Const.Provider, Const.ConnString , Const.Table , Const.Method)]