例外を作成しようとしていますが、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: Method 'WindowsApplication1.Data.Validation.ValidationException.#ctor(FluentValidation.Results.ValidationResult)' has custom parameter validation but assembly mode is not set to support this. が表示されます。Requiresとして扱われます。
これは、Requiresがサポートされていることを示します。
これはバグですか、何か不足していますか?