我有一种情况,我需要在整个过程中建立一个消息.在此过程中,有几个函数和类,此消息必须收集信息.构建此消息的最佳方法是什么?
例:
public class process{
public StringBuilder message = new StringBuilder();
private void DoStep1
{
AddNote("start");
var p2 = new process2();
p2.DoStuff();
var p3 = new process3();
p3.DoStuff();
SendEmailMethod(message);
}
private void AddNote(string msg)
{
//do stuff
message.Append(msg);
}
}
public class process2{
public void DoStuff()
{
//need to append msg to that variable
}
}
public class process3{
public void DoStuff()
{
//need to append msg to that variable
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将初始化传递StringBuilder给其他类中的所有这些方法.
public class process{
public StringBuilder message = new StringBuilder();
private void DoStep1
{
AddNote("start");
var p2 = new process2();
p2.DoStuff(message);
var p3 = new process3();
p3.DoStuff(message);
SendEmailMethod(message);
}
private void AddNote(string msg)
{
//do stuff
message.Append(msg);
}
}
public class process2{
public void DoStuff(StringBuilder stringBuilder)
{
//need to append msg to that variable - use stringBuilder
}
}
public class process3{
public void DoStuff(StringBuilder stringBuilder)
{
//need to append msg to that variable - use stringBuilder
}
}
Run Code Online (Sandbox Code Playgroud)
您应该记录那些他们期望初始化的类,StringBuilder或者如果它为null则抛出异常.
public class process3{
public void DoStuff(StringBuilder stringBuilder)
{
if (stringBuilder == null)
throw new ArgumentException("stringBuilder must be initialised");
//need to append msg to that variable - use stringBuilder
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |