关键字的命名空间"填充" C#(MvcMailer)

时间:2014-06-13 10:34:15

标签: c#

我已将我的项目从.Net framework 4转换为4.5。

我这样做是为了使用Nuget包MvcMailer。

一切都很好,但在UserMailer类中存在以下代码:

public virtual MvcMailMessage Welcome()
{
        //ViewBag.Data = someObject;
        return Populate(x =>
        {
            x.Subject = "Welcome";
            x.ViewName = "Welcome";
            x.To.Add("some-email@example.com");
        });
}

Populate一词会抛出错误: “填充”这个名称在当前上下文中不存在

Populate这个词属于什么名称空间? 或者它是一个扩展?

我在网上找不到任何东西。

3 个答案:

答案 0 :(得分:1)

具有此签名的MailerBase控制器的类方法(from source code on GitHub):

public virtual MvcMailMessage Populate(Action<MvcMailMessage> action)

要使用它,您必须从MailerBase派生您的控制器(它是Mailers的基类。您的邮件程序应该是MailerBase 的子类。)

例如,假设您的控制器名为Home,来自:

public class Home : Controller {

要:

public class Home : MailerBase {

它位于Mvc.Mailer命名空间(与MvcMailerMessage类相同),无论如何它不是一种扩展方法,因此您甚至不必担心它。< / p>

答案 1 :(得分:0)

将光标放在关键字上,然后点击Alt+Shift+F10。它会显示它的来源,您可以包含整个命名空间,或只使用一次关键字。只有在项目中有正确的.dll引用时,它才会起作用。

答案 2 :(得分:0)

我认为你从这个GitHub存储库获得了代码。

https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide

public virtual MvcMailMessage Welcome()
{
    ViewBag.Name = "Sohan";
    return Populate(x =>{
          x.viewName = "Welcome";
          x.To.Add("sohan39@example.com");
        });
}

此代码由Package的开发人员提供,他展示了如何使用它来编辑MvcMailer。

如果是这样,那个人在他的C#文件的顶部使用了这些命名空间。

using Mvc.Mailer;

所以,我猜它会成为这个命名空间的一部分。将它包含在您的项目中并且您已完成!

相关问题