gpt4 book ai didi

c# - 如何在 c# 上将 asp.net 用户控件的当前类名转换为字符串?

转载 作者:太空狗 更新时间:2023-10-29 23:57:02 24 4
gpt4 key购买 nike

所以我尝试了 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().Namethis.GetType().FullName将返回由 ASP.NET 生成的自动生成类的名称。这个自动生成的类将子类化您在代码隐藏文件中定义的 UserControl/WebPage 类(您的 ascx 文件的 Inherits 标记中的 <%@Control ...> 关键字/您的 aspx 文件的 <%@Page ...> 标记)。

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

this.GetType().BaseType.Namethis.GetType().BaseType.FullName

关于c# - 如何在 c# 上将 asp.net 用户控件的当前类名转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1881333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com