0

元のドキュメントはここにあります

私はすでにコントローラーアクションを変換しました:

Imports ActionMailer.Net.Mvc

    Public Class EmailController
        Inherits MailerBase

        Public Function VerificationEmail(ByVal model As RegisterModel) As EmailResult

            [To].Add(model.Email)
            From = "me@my.org"
            Subject = "Thanks for registering with us!"
            Return Email("VerificationModel", model)

        End Function

    End Class

そして、ビュー(EmailVerification.html.vbhtml):

@modelType GemcoBlog.RegisterModel

@Code
    Layout = Nothing
End code

Welcome to My Cool Site, @Model.UserName

We need you to verify your email.  Click this nifty link to get verified!

@Html.ActionLink("Verify", "Account", New With {.code = Model.Email})

Thanks!

しかし、このC#コードを変換して、Registerメソッド内からVBに関数を呼び出すにはどうすればよいですか?

new MailController().VerificationEmail(newUser).Deliver();

VBでこれを行う方法を説明しているインターネット上のものは何も見つかりませんでした。そのため、この投稿は探している人に役立つかもしれません。

補足として:誰かが私にこの構文を説明してもらえます[To].Add(model.Email)か?私はそれを前に見たことがありません。ありがとう。

4

1 に答える 1

2
Dim controller = New MailController()
Dim email = controller.VerificationEmail(newUser)
email.Deliver()

または、1つのライナーを好む場合:

Call New MailController().VerificationEmail(newUser).Deliver()

補足として:誰かがこの構文[To] .Add(model.Email)を私に説明してもらえますか?私はそれを前に見たことがありません。ありがとう。

ToVBの予約語です。角かっこで囲むと、この予約済みキーワードと衝突しないようになります。

C#で同等のものは@キーワードです:

int @int = 123;
于 2012-08-20T12:06:51.397 に答える