C#在父类中获取子类的类名

Posted 薄心之心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#在父类中获取子类的类名相关的知识,希望对你有一定的参考价值。

最近在封装一些函数时,想要把通用方法封装在父类中,对于一些子类特殊的设置参数,可以在父类根据子类名称统一设置,这样很多方法就可以通用了。
在这个过程中,需要用到在父类中获取其子类名称的方法
举例说明:

public class Base
{
    // 父类业务逻辑实现   
}

public class A:Base
{
   // 子类A业务逻辑实现     
}

如上所示,A继承Base,想要在Base获取到A的名称,如何实现呢?

public class Base
{
  // 获取继承于Base的当前子类名称
  string currentName= this.GetType().Name;
}

 

PS:网上找了一些方法,比如ViewContext.RouteData.Values["controller"],实际试了一下,ViewContext为null,不知是不是我用的方法不对。

 

以上是关于C#在父类中获取子类的类名的主要内容,如果未能解决你的问题,请参考以下文章

在父方法中获取子类名[duplicate]

PHP 父类静态方法中调用子类静态方法

是否可以在父类中引用子类?

继承和多态

C#中基类属性值在子类中设置,如何在基类的方法中获取子类设置的值?

如何理解“子类不能降低父类中定义的方法的可访问性”这句话?