我有一个自定义属性,为方法定义了一些应用程序版本:
[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);
}
}
可以使用字符串表示来初始化Version类的实例: “MAJOR.MINOR [.build [.revision]]”
现在我可以指定任何字符串作为参数,只有在使用Reflection方法执行此代码时,才能获得由解析错误引起的运行时异常:
[ProjectConverter( "1.0.1.215","1.0.1.R220")]
bool Convert( Project project )
{
}
有没有办法在代码编辑器中突出显示验证此值? 就像它适用于 AssemblyVersionAttribute 一样,版本格式的字符串与参数相同。它可以在文件 Properties \ AssemblyInfo.cs 中找到。
[assembly: AssemblyVersion("1.0.904.2")]
如果我试图超过该值,则此刺痛将在设计时突出显示为错误。
答案 0 :(得分:0)
这可以通过编写自己的自定义Visual Studio分类器扩展(https://msdn.microsoft.com/en-us/library/dd885492.aspx)来完成。