gpt4 book ai didi

c# - ASP.Net 和 GetType()

转载 作者:太空狗 更新时间:2023-10-29 21:16:04 25 4
gpt4 key购买 nike

我想获取我正在创建的“BasePage”对象的类型。每个 Page 对象都基于 BasePage。例如,我有一个 Login.aspx 并且在我的代码隐藏和一个具有方法 Display 的类中:

Display(BasePage page) {
ResourceManager manager = new ResourceManager(page.GetType());
}

在我的项目结构中,我有一个默认资源文件和一个伪翻译资源文件。如果我设置尝试这样的事情:

Display(BasePage page) {
ResourceManager manager = new ResourceManager(typeof(Login));
}

它返回翻译后的页面。经过一些研究,我发现 page.GetType().ToString() 返回了“ASP_login.aspx”的效果 我怎样才能得到类类型背后的实际代码,这样我就得到了一个“登录”类型的对象源自“BasePage”?

提前致谢!

最佳答案

如果你的代码旁白是这样的:

public partial class _Login : BasePage 
{ /* ... */
}

然后您将使用 typeof(_Login) 获取它的 Type 对象。要动态获取类型,可以递归查找:

Type GetCodeBehindType()
{ return getCodeBehindTypeRecursive(this.GetType());
}

Type getCodeBehindTypeRecursive(Type t)
{ var baseType = t.BaseType;
if (baseType == typeof(BasePage)) return t;
else return getCodeBehindTypeRecursive(baseType);
}

关于c# - ASP.Net 和 GetType(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/202073/

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