c# - 可以确定方法是由派生类调用还是直接作为自身调用? C#

标签 c#

是否有任何直接的方法来确定基类(不是抽象)中的方法是由派生类调用还是从创建了基类实例的地方显式调用?

最佳答案

最简单的方法是使用反射:

public virtual void MyBaseClassMethod()
{
    var currType = this.GetType();
    if (currType == typeof(MyBaseClass))
    { 
        // base class instantiated directly.
    }
}

关于c# - 可以确定方法是由派生类调用还是直接作为自身调用? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33074862/

相关文章:

c# - 如何从查询字符串中删除项目以进行重定向?

c# - 'IPermissionStateManager' 的命名空间

c# - 如何迭代 linq-to-sql 查询结果的结果并追加结果?

c# - 检索进程描述信息

c# - 如何在不添加 [JsonProperty] 属性的情况下序列化 JSON.NET 中的静态属性

c# - 如何在 C# 中获取 IPv6 地址?

c# - 区分 Cosmos DB 中的唯一约束违规

c# - 是否有一个通用系统委托(delegate)接受两种类型并返回第二种

c# - 我的代码不执行命令代码,它只显示命令提示符,但不执行命令

c# - 组件、行为和 MonoBehaviour 之间有什么区别?为什么这些要分开?