是否有可能使用部分结构来实现这样的事情: 有一个具有以下定义的 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/