c# - 方法A和B调用了方法C。现在如何找出C里面是谁调用的呢?

标签 c#

我在方法 C 中有一些代码将根据调用它的人执行。

public void C()
{
    if(A called me) { .... }
    if(B called me) { .... }
}

一种方法是使用标志变量。在调用 C 之前设置变量,然后在 C 内部处理标志。

还有其他想法吗?

最佳答案

代码味道。

为什么 C 关心调用者?如果方法中的代码根据调用者的不同而不同,也许您需要不同的方法

A() calls A_C()
B() calls B_C()

例如如果 Baker 类支持 Bake(cakeSpec),那么无论它是由 CustomerA 还是 CustomerB 调用的,它的行为都应该相同。您可能希望通过 cakeSpec 中的一些配置参数自定义烘焙的某些方面。但是总的来说,Bake() 应该按照它说的去做。

需要更多信息.. 以准确了解您要实现的目标。

关于c# - 方法A和B调用了方法C。现在如何找出C里面是谁调用的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635285/

相关文章:

c# - 如何将 List<> 绑定(bind)到 dataGridview C#

c# - 如何找到上传的 mp4 或 f4v 视频的持续时间?

c# - List<Object> 上的 Parallel.ForEach 线程安全

c# - Mono/Ubuntu - 冲突的定义

c# - https 不适用于虚拟目录

c# - 层次结构不会在 View 中更新

c# - ASP.NET MVC 3,代码优先 EF : OriginalValues?

c# - TabControl 上下文菜单

c# - 将类的对象声明为 null

c# - 从 C# 服务使用 Graph API 获取日历计划