如何将当前的asp.net usercontrols类名转换为c#上的字符串?

Jro*_*nny 4 c# reflection classname gettype c#-4.0

所以我尝试了GetType(),但由于某种原因,它确实包含了命名空间...
C#没有指定其名称的类的属性吗?
例如:

public class Parent : System.Web.UI.UserControl {
    public someFunction(){
        Child child = new Child();
        Console.WriteLine(child.ThePropertyThatContainsTheName);
    }
}

public class Child : Parent {
}
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用名称为硬编码的字符串属性创建Child,但前提是我们可以找到更好的解决方法...也许是反射或表达式......

在此先感谢=)

编辑:顺便说一下我正在处理用户控件...

Joe*_*Joe 15

如果您使用的是ASP.NET Web应用程序项目,则通常会使用代码隐藏模型.

ASP.NET将从您的aspx/ascx文件动态生成和编译一个类,该文件使用您在代码隐藏文件中定义的类作为基类.

this.GetType().Name并且this.GetType().FullName将返回由ASP.NET生成的自动生成的类的名称.这个自动生成的类将子类化您在代码隐藏文件中定义的UserControl/WebPage类(asxx文件/ aspx文件标记Inherits<%@Control ...>标记中的关键字<%@Page ...>).

如果您想要代码隐藏类的名称,请使用:

this.GetType().BaseType.Name 要么 this.GetType().BaseType.FullName