c# - 是否可以在 c# 中使用 "inherited partial structs"?

标签 c# asp.net

是否有可能使用部分结构来实现这样的事情: 有一个具有以下定义的 asp.net 页面基类:

public partial struct QuerystringKeys
{
    public const string Username = "username";
    public const string CurrentUser = "currentUser";
}

有一个asp.net页面,继承上面提到的基类,扩展局部声明:

public partial struct QuerystringKeys
{
    /// <summary>
    /// The page number of the review instances list
    /// </summary>
    public const string Page = "page";
}

最终目标是一个 QuerystringKeys 结构,其中定义的所有三个常量字符串都可用于 asp.net 页面。

最佳答案

您永远无法从结构继承 - 并且部分类型无论如何也不会继承。它们只是组合多个源文件以创建单一类型。

无论如何,我不知道 ASP.NET 页面的细节,但重点是您不能有多个部分类型,每个部分类型都使用相同的“基本”类型,但与它组合形成不同的类型。声明相同部分类型的多个源文件被简单地组合形成一个并且只有一种类型。

不过,您这样做似乎只是为了共享常量——这让我觉得对部分类型或继承的使用不当。只需要一个 CommonQueryKeys 静态类并适本地引用它。

关于c# - 是否可以在 c# 中使用 "inherited partial structs"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790003/

相关文章:

javascript - 如何使用 javascript 保留以编程方式复制到剪贴板的断行?

asp.net - 通过 jQuery 调用 ASP.NET 服务器端方法

c# - 硬编码的东西是什么意思?

asp.net - 如何在gridview的超链接列中存在的值中插入逗号

c# - Azure DevOps Pipeline - dotnet restore 包内容哈希验证失败

c#迭代列表以合并具有相同字段的项目

c# - 对象引用丢失,但保留资源

c# - 当节点展开或折叠时,如何更改 WPF TreeView 中节点的图像?

Linux 上的 ASP.Net

c# - 正则表达式的命名空间不起作用