公共结构在其类别之外不被认可
本文关键字:结构 | 更新日期: 2023-09-27 18:36:01
>大家嘟。1)我在类文件(Films.cs)中定义了一个公共结构,如下所示:
public struct CategoryDetails
{
...
}
对于所有重要的事情,该类不会放入命名空间中。
2)我有一个名为Catalog的aspx文件,其中包含一个代码隐藏文件。在代码隐藏文件中,我有这个(与Page_Load方法处于同一级别):
private void PopulateControls()
{
--> here I would like to have visibility to the CategoryDetails structure, which I don't
}
我指定 Catalog.ascx.cs(代码隐藏)文件具有命名空间。
- 一个。到目前为止,我尝试的是将电影类放在同一个课程中命名空间。没有运气。
- 二.如您所见,该结构是公共的。谢谢你的帮助。非常感谢。
改为尝试Films.CategoryDetails
。 嵌套类/结构在访问时需要以包装类为前缀(如命名空间)。 (除非您从该包装类中访问它)
private void PopulateControls()
{
var categorydetails = new Films.CategoryDetails();
//do stuff
}
编辑:澄清一下,在Films
类中,您不再需要为其添加前缀。 (如果存在不明确的命名问题,您仍然可以为其添加前缀):
namespace MyProject
{
public class Films
{
public struct CategoryDetails
{
}
public void DoStuff()
{
//both are valid
var categorydetails = new CategoryDetails();
var otherdetails = new Films.CategoryDetails();
}
}
}
您是在类电影内部实现结构还是在类文件电影内部实现结构.cs(在全局范围内)。尝试像这样导航结构
var categorydetails = new global::CategoryDetails();