班级可及性及;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);
}
}
}