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