如何从两种不同(小)要求的两种不同方法中调用相同的方法 [英] How do I call a same method from two different methods which two different(minor) requirement

查看:81
本文介绍了如何从两种不同(小)要求的两种不同方法中调用相同的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从两个不同的方法调用一个方法(包含电子邮件文本Body),这两个方法的逻辑要求相同,但每个方法都有不同的文本电子邮件正文。我怎么能这样做。

在下面的代码中,当它通过两种不同的方法调用时,唯一的区别在于电子邮件正文



我尝试过:



这是我想要打电话的方法:

  private   bool  GenerateEmailOTP( int  randomNumber, string  emailId)
{
var MailUrl = ConfigurationManager.AppSettings [ MailUrl];
var senderEmail = ConfigurationManager.AppSettings [ SENDEREMAIL];

var subject = Broadspire SSP的验证码;

var emailBody = @ 亲爱的索赔人,
< br>
< br>
感谢您联系Broadspire。
< br>
< br>
请输入以下代码{0}以生成新Pin。
< br>
< br>
谢谢,
< br>
Broadspire SSP团队。;
var body = String .Format(emailBody,randomNumber);

电子邮件oEmail = 电子邮件(Config.MailSettings_Smtp_From,emailId,subject,body);
oEmail.Message.IsBodyHtml = true ;
oEmail.Send( false );

return true ;
}

解决方案

您可以使用可选参数,例如

 private bool GenerateEmailOTP(int randomNumber,string emailId,bool body2 = false)

请参阅: [ Dotnetperls ]


我将不同的电子邮件正文存储在配置文件中(可能是web.config)并向GenerateEmailOTP方法添加一个参数,该方法允许调用代码指定他们想要的电子邮件正文,以及该方法将根据该参数检索相应的邮件正文。



 private bool GenerateEmailOTP(int randomNumber,string emailId,string emailType) 





最简单的方法是使用newPinBody和someOtherBody等设置名称存储不同的配置调用代码会将newPin或someOther作为参数传递给函数,然后代码将使用ConfigurationMana ger读取适当的身体



 string body = ConfigurationManager.AppSettings [emailType +Body] 


I want to call a method(contains email text Body) from two different methods whose logical requirement is same but each method has different textual email body. How can I do that.
In the below code, when it is called by two different methods the only difference is in the email body

What I have tried:

This is the method that i want to call:

private bool GenerateEmailOTP(int randomNumber, string emailId)
        {
            var MailUrl = ConfigurationManager.AppSettings["MailUrl"];
            var senderEmail = ConfigurationManager.AppSettings["SenderEmail"];

            var subject = "Verification Code from Broadspire SSP";

            var emailBody = @"Dear Claimant,
                                <br>
                                <br>
                                Thank you for contacting Broadspire. 
                                <br>
                                <br>
                                Please enter following code {0} to generate New Pin. 
                                <br>
                                <br>
                                Thank you,
                                <br>
                                Broadspire SSP Team.";
            var body = String.Format(emailBody, randomNumber);

            Email oEmail = new Email(Config.MailSettings_Smtp_From, emailId, subject, body);
            oEmail.Message.IsBodyHtml = true;
            oEmail.Send(false);

            return true;
        }

解决方案

You could use an optional parameter, e.g.

private bool GenerateEmailOTP(int randomNumber, string emailId, bool body2 = false)

See: [Dotnetperls]


I'd store the different email bodies in the config file (probably web.config) and add a parameter to the GenerateEmailOTP method that lets the calling code specify which email body they want, and the method will retrieve the appropriate mail body based on what that parameter is.

private bool GenerateEmailOTP(int randomNumber, string emailId, string emailType)



The simplest way of doing this would be to store the different configs using a settings name like "newPinBody" and "someOtherBody" and the calling code will pass "newPin" or "someOther" as a parameter to the function, and the code will then use ConfigurationManager to read the appropriate body

string body = ConfigurationManager.AppSettings[emailType + "Body"]


这篇关于如何从两种不同(小)要求的两种不同方法中调用相同的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆