1

例外を作成しようとしていますが、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サポートされていることを示します。

これはバグですか、何か不足していますか?

4

1 に答える 1