当前位置 : 主页 > 网络编程 > ASP >

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

来源:互联网 收集:自由互联 发布时间:2021-06-24
所以我尝试了GetType(),但由于某种原因,它确实包含了命名空间…… C#没有指定其名称的类的属性吗? 例如: public class Parent : System.Web.UI.UserControl { public someFunction(){ Child child = new Child()
所以我尝试了GetType(),但由于某种原因,它确实包含了命名空间……
C#没有指定其名称的类的属性吗?
例如:

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

public class Child : Parent {
}

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

在此先感谢=)

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

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

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

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

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

this.GetType().BaseType.Name或this.GetType().BaseType.FullName

网友评论