是否可以获取调用方法的名称,并根据这些结果执行代码?
下面,我有两种用于数据库 CRUD 操作的方法。一个向数据库添加一个对象,另一个更新。两者都返回一个包含操作统计报告的对象。
在某些情况下,如果将 stat-obj 返回到 Add 方法,我不会费心在 Update 方法中更新操作 stat 对象的 pkey 字段。
public OperationStat Add(object obj)
{
// Contains operation status data.
OperationStat op = new OperationStat();
op.PrimaryKey = pkey.newkey();
// Record to update
Person pete = new Person();
// call update method.
op = this.Update(pete);
}
public OperationStat Update(object obj)
{
OperationStat op = new OperationStat();
string callmethod = "Add";
// Get stacktrace.
StackTrace stackTrace = new StackTrace();
StackFrame stackFrame = stackTrace.GetFrame(1);
MethodBase methodBase = stackFrame.GetMethod();
if(methodBase.Name != callmethod)
{
// create new primary key for status.
op.Primarykey = pkey.newkey();
}
// fill operation stat object with details
return op;
}