Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
班级可及性及;ASP.NETC#4.0中的继承_C#_Asp.net_Class_Inner Classes_Access Modifiers - Fatal编程技术网

班级可及性及;ASP.NETC#4.0中的继承

班级可及性及;ASP.NETC#4.0中的继承,c#,asp.net,class,inner-classes,access-modifiers,C#,Asp.net,Class,Inner Classes,Access Modifiers,像这样访问: namespace MyStyle { public class Styles { //intended to store style.properties & style.values class public sealed class sealdPropsClass { public sealed const string DarkB

像这样访问:

namespace MyStyle
{
    public class Styles
    {                  
            //intended to store style.properties & style.values class 

        public sealed class sealdPropsClass 
        {
            public sealed const string DarkBlueColor = "darkBlue";
        }

        public static class staticPropsClass
        {
            public static const string LightBlueColor = "lightBlue";
        }
    }
}
关于类和继承的另一个问题 我被警告不要使用
静态
修饰符

原因是:当当前用户 是否已访问该类

通过当前页面或使用该类的其他web应用程序

我想从这个例子中了解的是:

1.

如何在
外部类中包装样式(这是我应该做的吗?)

因此,我可以使用subject类的
实例
=克隆,如下代码所示:

 using MyStyles;
 
 string ColorBlue = Styles.sealedPropsClass.DarkBlueColor;
2.

如果我通过导入
MyStyle
名称空间

public Styles CurrentAppStyles = new Styles();

string darkColor = CurrentAppStyles.sealdPropsClass.DarkBlueColor

使用MyStyle/// 所以我现在能理解的是,在任何情况下都不能避免使用静态类
例如扩展方法通过静态类使用,我的大多数子类都是静态的,例如:


你真的会遇到这种错误吗?多个用户访问静态变量应该不会有问题。你只是想让一个类来保存常量吗?如果是这样,那么你就考虑过这个问题了。只需让样式成为一个静态类,填充静态只读字符串,然后像这样访问它们;MyStyle.Styles.DarkBlue等等。警告about static特定于在“邮件”示例中使用它。正如Joshua所说,将其设置为静态意味着您在全局共享状态。但是,如果您只是出于某种无状态的目的(如存储常量)使用它,那么它就可以了。
 using MyStyle; ///<-- is that an instance ? 
public class container // instanciated so name is not so relevant 
{                      // e.g : container c = new container()
                       // usage- c.utils.......
    public static class utils // used from an instance of container
    {
      public static int Str2int(string strToConvert)
      {
          return Convert.ToInt32(StrToConvert);
      }
    }
}