static相关内容
根据MSDN的 “类可以声明为static,表明它仅含 静态成员。它是不可能创建的静态实例 类使用new关键字。静态类是自动加载 由.NET Framework公共语言运行时(CLR)程序时 或包含类的命名空间被加载。的“ 做了一些研究之后,我发现,静态类不包含实例构造函数。我不明白为什么静态类不包含实例构造函数和什么用static关键字的。为什么.NET不允许我们创建一个静态类的实例?
..
为什么我得到一个堆栈溢出错误,如果我用set访问改变类的静态成员在C#? 我不争论这是一个错误,我只是想知道究竟是什么在机器的内部事情。 解决方案 您不应该;我希望你有这样的: 私有静态诠释富; 公共静态INT富{ {返回FOO;} 集合{美孚=值;} //发现错字! (应该是富) } 从本质上讲,设置是: 静态无效set_Foo(int值){ set_F
..
我有一个WCF服务,我来自多个客户端调用。我需要存储和管理全球的值。在我的服务,我有以下属性: [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,ConcurrencyMode = ConcurrencyMode.Single) 在我的服务,我有类似这样: 私有静态诠释柜台; 公共无效PrintCou
..
我追平自己在海里了一个简单的问题。我有一个类实现 INotifyPropertyChanged的。一些实例属性“干将使用静态特性,因此它们的值可如果静态属性的变化而变化?这里有一个简单的例子。 类ExampleClass中:INotifyPropertyChanged的 { 私有静态诠释_MinimumLength = 5; 公共静态INT MinimumLength
..
这似乎违背了每一个设计方针。 接受单个T类型的参数静态方法通常应该只是一个成员方法。 它是如此的bizzare其实我不得不发布 修改 我明白我刚才的发言需要一点解释。的一个良好的设计的一个例子是String.ToLower()。相反,它被作为原型静态无效TOLOWER(字符串FOO),它是一个成员方法。这是pretty的明显(至少对我来说),这同样应按住char.IsLower()。 解决方
..
我使用了一些配置设置的扩展方法。我已经声明它们作为静态。 公共静态类扩展 { 静态字符串_mailServer = ConfigurationManager.AppSettings [“邮件服务器”]; // ... 等等 公共静态无效SendEmailConfirmation(此IOrder顺序){} } 我只是想确认这是做什么的,我打算为我不是100%肯定。
..
可能重复: 在.NET中: 为什么不能静态方法在非静态类是一个扩展方法? 解决方案 埃里克利珀可能会权衡与这一个一个很好的答案,但它的要点可能会是: 我们决定这将是对程序员和编译器更加容易,如果我们限制的地方,你必须寻找扩展方法的数量。 这政策往往迫使用户把他们所有的扩展方法进入被指定用于此目的的几个具体类别。
..
我想知道什么是内联初始化静态成员中的区别: 类Foo { 私有静态酒吧bar_ =新的酒吧(); } 或静态构造函数中对其进行初始化,如下所示: 类Foo { 静态的Foo() { bar_ =新的酒吧(); } 私有静态酒吧bar_; } 解决方案 如果你有一个静态构造函数在你的类型,它改变类型初始化由于的 before
..
我在这个错误来了,我不知道为什么......我想看看它,人们都在说创建类的一个对象或创建方法为静态...但我不能确定如何。 下面是我下面的code: 公共类SoundManager类:MonoBehaviour { 公开名单< AudioSource> audioSounds =新的名单,其中,AudioSource>(); 公共双minTime = 0.5; 公共静态无
..
如果我有 抽象类的父 { 静态对象staticLock =新的对象(); 公共无效方法1() { 锁定(staticLock) { 方法2(); } } 受保护的抽象方法2(); } 类Child1:父母 { 保护覆盖方法2() { // 做一
..
我写了下面的控制台应用程序来测试静态属性: 使用系统; 命名空间StaticPropertyTest { 公共抽象类的BaseClass { 公共静态myProperty的INT {获得;组; } } 公共类DerivedAlpha:BaseClass的 { } 公共类DerivedBeta:BaseClass的
..
通常情况下,我可以调用this.GetType(),但我不能访问该在静态方法。我们该如何检查呢? 解决方案 新的StackFrame()。GetMethod的()。DeclaringType 或 MethodBase.GetCurrentMethod()。DeclaringType 或 新的堆栈跟踪(真).GetFrame(小于帧索引>)。GetMethod的(
..
我的问题来重构仅包含静态方法声明为一个静态类,并启动应用程序时遇到了奇怪的问题,一下课。 我还没有进行任何深入的调查,但是似乎正在取得一些呼叫从静态构造函数中未完成的某些原因。 所以,我想知道哪里有使用静态构造函数在C#中,当有任何陷阱?更具体地,是否有应不惜一切代价避免和无法从静态构造内使用?任何事 解决方案 有几个陷阱,以静态构造函数。例如,如果一个静态构造函数抛出一个异常,你将继续得
..
我有一个扩展方法: 公共静态类StringEx { 公共静态布尔赞(这个字符串,字符串二) { 返回a.ToLower()包含(b.ToLower())。 } } 如何使用我的参数选择不当通过GetMethod的反映呢?我已经试过这没有成功(有大约静态方法除外): VAR像= typeof运算(StringEx).GetMethod(“喜欢”,
..
对于在一个进程中的每个应用程序域创建一个公共静态变量的一个副本,或只是一个副本的整个过程?换句话说,如果我从改变一个静态变量的值在一个AppDomain中,是否会影响相同的静态变量的值在另一个的AppDomain在同一个进程? 解决方案 这是每个应用程序域证明了这个例子: 公共类Foo { 公共静态字符串吧{获得;组; } } 公共类测试 { 公开测试() {
..
为什么不能静态类有非静态方法,当非静态类可以有静态方法和变量的变量? 什么是具有在非静态类的静态方法和变量的优势在哪里?虽然有一个静态构造函数在非静态类是可以理解的。 解决方案 静态类不能被实例摆在首位,因此,即使你可以声明非静态(实例)的成员,他们永远不能被访问。既然是不是真的有一个点,允许它的原因,语言简单地禁止它。 记住,静态类的只是班的,而有两件事情是有直接关系的非静态类:类的自己
..
它是安全的,通过一个静态对象的静态属性访问asp.net会话变量? 下面是我的意思是: 公共静态类SessionHelper { 公共静态INT年龄 { 得到 { 返程(INT)HttpContext.Current.Session [“年龄”]; } 组 {
..
很长一段时间听众 - 第一次来电。我希望能得到一些建议。我一直在阅读有关缓存在.net中 - 都与System.Web.Caching和System.Runtime.Caching。我想知道什么额外的好处,我可以得到VS简单的创建一个静态变量与锁定。我现在的(头脑简单)高速缓存方法是这样的: 公共类缓存 { 私有静态列表<类别> _所有类别; 私人静态只读对象_loc
..
什么是正确的方法来执行一些静态finallization? 没有静态的析构函数。该 AppDomain.DomainUnload 事件不会引发在默认域。该 AppDomain.ProcessExit 事件股所有事件处理程序之间三个秒(默认设置)的总时间,所以它不是真正可用。 解决方案 基本上,你不能。设计围绕它自己的方式尽最大可能。 不要忘了,一个程序可以的总是的突然终止反正 - 有人拔出
..
这是更多的是文档比真正的问题。这似乎并没有得到解决的SO,但(除非我错过了),所以这里有云: 想象一个包含静态成员泛型类: 类Foo< T> { 公共静态INT成员; } 是否有每个特定类的成员的一个新实例,或者是有仅用于所有的Foo型类的单个实例 它可以很容易地通过code证实是这样的: 美孚< INT>。成员= 1; 美孚<字符串>
..