我正在创建一个C#自定义属性,想要传递一些参数。我有4个参数,其中一个是可选的。根据我发现的情况,可选参数必须设置为命名参数,而必需参数则为位置参数。
如果我以这种方式编写代码,希望所有参数都作为命名参数使用(对我来说更清晰),那怎么办?必需参数是否总是需要按位置指定,以此区分可选参数?在这方面什么是最佳实践?
以下是我的代码:
[AttributeUsage(AttributeTargets.Field)]
public class MyAttribute : Attribute
{
private string _field1 = null;
private string _field2 = null;
private string _field3 = null;
private string _field4 = null;
public MyAttribute(string Field1, string Field2, string Field3)
{
_field1 = Field1;
_field2 = Field2;
_field3 = Field3;
}
public string Field4
{
get { return _field4; }
set { _field4 = value; }
}
}