gpt4 book ai didi

c# - 如何在不引用类本身的情况下调用 View 中的类内部的方法?

转载 作者:行者123 更新时间:2023-11-30 15:54:32 24 4
gpt4 key购买 nike

我目前有这段代码。

public static class User
{
public static string GetUserName()
{
return Username;
}
}

我想在 View 中调用 @GetUserName(),而不是 User.GetUserName();

是否可以在 View MVC 中调用类内部的方法而不引用类本身?

最佳答案

可以使用using static 指令来做到这一点,尽管我个人比较关心可读性:

@using static User
...
<p>The user name is: @GetUserName()</p>

如果 User 在不同的命名空间中,您需要这样:

@using static WhateverNamespace.User

再说一遍,从可读性的角度来看,我会非常谨慎地使用它……但它应该可以正常工作。

您还可以添加扩展方法,尽管这不是那么简洁。例如,我的测试应用程序使用 Razor 页面,所以我有一个 IRazorPage 扩展方法:

namespace YourNamespace
{
public static class PageExtensions
{
public static string GetUserName(this IRazorPage view) => User.GetUserName();
}
}

由于查找扩展方法的方式,您需要:

<p>The user name is: @this.GetUserName()</p>

this. 有点难看,但至少你不需要记住类名。

关于c# - 如何在不引用类本身的情况下调用 View 中的类内部的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285735/

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