0
我有定义了一些应用程序版本的方法的自定义属性:C#自定义属性 - 如何验证构造函数的参数?
[AttributeUsage(AttributeTargets.Method)]
class ProjectConverterAttribute : Attribute
{
public Version BaseVersion { get; private set; }
public Version TargetVersion { get; private set; }
public ProjectConverterAttribute(string baseVersion, string targetVersion)
{
BaseVersion = new Version(baseVersion);
TargetVersion = new Version(targetVersion);
}
}
版类的实例可以用字符串表示进行初始化: “MAJOR.MINOR [.build [.revision]] “
现在我可以指定任何字符串作为参数,并得到所致,只有当该代码使用反射方法执行解析的错误运行时异常:
[ProjectConverter("1.0.1.215","1.0.1.R220")]
bool Convert(Project project)
{
}
有没有办法在代码编辑器中突出显示验证此值? 像它适用于AssemblyVersionAttribute使用相同版本格式的字符串作为参数。它可以在文件Properties \ AssemblyInfo.cs中找到。
[assembly: AssemblyVersion("1.0.904.2")]
如果我试图超过这个值,这个刺会在设计时突出显示为一个错误。
为什么你不使用单元测试呢? – Isma
这是个好主意,谢谢!我会这么做的。但同意,突出显示更方便。 –
不适合我,突出显得很烦人,而且你也将自己绑定到visual studio(请记住.net核心是多平台的)。我会去单元测试+持续集成,只要测试失败,你就会知道。 – Isma