我正在尝试编写一个异常,并在 ctor 上添加了一个 Contract.Requires 声明。由于某种原因,编译失败并出现错误 CC1027: Malformed contract I am using the latest version (1.4.60317.12) of code contract addin to VS2012
Public NotInheritable Class ValidationException
Inherits Exception
Public Property Result() As FluentValidation.Results.ValidationResult
Public Sub New(ByVal ValidateResult As FluentValidation.Results.ValidationResult)
Contract.Requires(Of ArgumentNullException)(ValidateResult IsNot Nothing, "ValidateResult is nothing.")
Me.Result = ValidateResult
End Sub
End Class
如果我删除 Contact.Requires 并放
If ValidateResult Is Nothing Then
Throw New ArgumentNullException("ValidateResult", "ValidateResult is nothing.")
End If
Contract.EndContractBlock()
而是编译工作,但我收到警告 CC1057:方法 'WindowsApplication1.Data.Validation.ValidationException.#ctor(FluentValidation.Results.ValidationResult)' 具有自定义参数验证,但装配模式未设置为支持此。它将被视为要求。
表示支持Requires 。
这是一个错误还是我错过了什么?