static-constructor相关内容
我想有一个具有私有静态数据成员的类(一个包含所有字符a-z的向量)。在java或C#中,我可以创建一个“静态构造函数”,它将在我创建类的任何实例之前运行,并设置类的静态数据成员。它只运行一次(因为变量是只读的,只需要设置一次),因为它是类的一个函数,它可以访问它的私有成员。我可以在构造函数中添加代码,以检查向量是否已初始化,如果没有初始化,则初始化它,但引入了许多必要的检查,并且看起来不是问题的最
..
考虑: 类Foo { 静态的Foo() { //初始化静态 } } 为什么是()要求静态的Foo(){...} ?静态构造函数必须始终参,何必呢?难道他们必须避免一些分析器歧义,还是它只是为了保持与常规参数构造函数的一致性? 由于它看上去非常像一个初始化器块,我经常发现自己离开他们出意外,然后不得不考虑关于什么是错的几秒钟。 。这将是很好,如果他们能以
..
考虑下面的代码,为什么不是“外”,“主”的第一行后调用的静态构造函数? 命名空间StaticTester { 类节目 { 静态无效的主要(字串[] args) { Outer.Inner.Go() ; Console.WriteLine(); Outer.Go(); 到Console.ReadLine(); } } 公共静态部分类外 { 静态外()
..
我有三个班,基本,导出和最后。 导出从派生基地和最后从派生。所有这三个类都有一个静态构造函数。类导出作为被称为公共静态方法设置。当我打电话 Final.Setup ,我希望所有三个静态构造函数得到执行,但只有一个在派生变。运行 下面是示例源代码: 抽象类基地 { 静态库() { 的System.Console.WriteLine(“基地”); } } 抽象类派生:基本
..
类客车< T> { 静态总线() { 的foreach(typeof运算中的科幻字段信息(T).GetFields()) { 如果(fi.FieldType == typeof运算(参数)) { fi.SetValue(typeof运算(T),新的说法(“busyname”,“busyvalue”)); } } } } 类巴斯:公交车<&巴斯GT; {
..
代码: Base类< T,U>其中T:基地< T,U>,新的()其中U:类 { 受保护的静态û_val = NULL; 内部静态无效ShowValue() { 如果(_val == NULL)新T(); //如果没有这一行,它不会如预期 Console.WriteLine(_val)工作; } 内部静态无效的虚拟() { Console.WriteL
..
我打电话使用此代码类的构造函数静态: 键入类型; System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(type.TypeHandle); 这可能会导致cctor被运行两次? 解决方案 没有,它运行静态构造函数只有一次,即使你叫 RunClassConstructor 的两倍。刚刚尝试
..
我想要写单元测试下面的类。 。如果名字是不是“myEntity所”等那么经理应该是空白。 否定单元测试 使用Manager专用访问我要改名字为“测试”,让经理应为空。 ,然后将验证经理的价值。 。要做到这一点,我想明确地调用静态构造函数 ,但是当我打电话使用 静态构造函数 Manager_Accessor.name =“测试” 的typeof(经理).TypeIn
..
作为一个相对新手我尝试阅读,就像我可以了解一个特定的主题和测试/编写大量的代码,我可以。我一直在寻找的容斯脑筋急转弯(问题#2)之一,我的输出比答案不同。这使得让我在这里问,如果事情的最新版本,并看看有什么输出其他从该代码得到了改变。 现在的问题是,“什么将显示,为什么,你是如何有信心“ 使用系统?; 类Foo { 静态的Foo() { Console.WriteLine
..
在过去的几年中,我偶尔也想知道什么的(中),相当于著名的 DLL_PROCESS_ATTACH 在.NET世界使用。任何文件,我说,稍作简化,即最早的入口点类是静态构造函数(cctor),但你不能影响的 时的它被称为/ ,也可以定义的保证之前,任何其他cctor或字段初始被调用,劈1 cctor,也可以不即使在所有如果是从未使用过类调用。 所以,如果你想保证东西的初始化的前的程序集的任何方法
..
据我知道你能不能传递参数,在C#静态构造函数。 但是我确实有2个参数我需要传递,并将其分配到静态字段之前,我创建一个类的实例。我怎么做呢? 解决方案 这可能是一个......工厂方法的调用! 类Foo { 私人诠释吧; 私有静态富_foo; 私人美孚(){} 静态创建美孚(INT initialBar) { _foo =新的Foo(); _foo.bar
..
什么是一个C#静态构造函数和一个Java静态块? 他们都必须是无参数的真正区别。 他们都只能调用一次,当第一次使用了相关的类。 我缺少的东西,或者是他们同样的事情,只是名称不同? 解决方案 他们是等价的,除了C#类只能有一个静态构造函数(加上静态字段初始化)。 此外,在C#中,静态构造将适用的 beforefieldinit 标志。
..
下面是两种不同的方法来初始化静态只读域。有两种方法之间的差异?如果是的话,应该何时之一pferred比其他$ P $? A级 { 私人静态只读字符串的connectionString = WebConfigurationManager.ConnectionStrings [“SomeConnection”]的ConnectionString。 }B类 { 私人静态只读字符串的c
..
命名空间了myNameSpace { 静态MyClass类 { 静态MyClass的() { //验证过程..用户需要输入密码 } 公共静态无效的MyMethod() { //取决于构造成功完成 } } 类节目 {
..
请给我解释一下使用静态构造函数。为什么我们何时将创建一个静态构造函数,并有可能超载呢? 解决方案 没有你不能超负荷;静态构造为初始化用型(或其他任何次式操作)相关联的任何静态字段有用 - 特别有用,用于读取所需的配置数据到只读字段等 这是由运行时自动运行第一次需要(确切的规则也有复杂的(参见“beforefieldinit”),并CLR2和CLR4之间微妙的改变)。除非你滥用反思,这是保
..
在我的自定义属性的静态构造函数,我搜索装饰着我的所有属性的类加载的程序集并对其执行一些动作。 我想静态构造函数中运行时尽快调用$ P $的静态无效的主要()切入点执行之前pferably 目前我做一些调用属性之后只被调用。我的可能的其他地方做出这样的电话在我的程序,但理想属性的功能是独立的。 为了寻找答案,我rel=\"nofollow\"> MSDN 用户具有当静态构造在执行程序
..
在我的课我有一个字符串的静态Dictionary对象,其中包含项目的大数目(它从文件中读取和初始它们)我写了一个静态构造函数这样做,它需要几秒钟,但我想做一次要快,因为我在ASP.Net做,我想我的网站不具备这方面的开销怎么办?如果此构造每个对象的运行,然后我就在想一些方法来代替,但我想我必须运行在用户运行网站的每个页面这个方法,所以我又认为这将是一样的,是吗? 什么是你的初始化解一大组变量只有
..
作为另一SO后我的描述 我看到VS 2008(移动后,我的应用程序的一个奇怪的行为。 .NET 3.5)到VS 2013(使用.NET 4.0,而不是4.5)。我发现一个类的静态构造函数(cctor)不叫了。所以我打破了应用程序分解成一个小的测试程序: 的DLL testAssembly_2-0和testAssembly_4-0 (类似的内容; testAssembly_4-0拥有,而不是
..
在什么顺序父母与子女类的静态构造函数叫什么名字? A级{静态A(){的MessageBox.show(“Yaht”); }} B类:A {静态B(){的MessageBox.show(“Zee的”); }} C类:A {静态C(){的MessageBox.show(“Zey”); }} 静态无效的主要() { B B =新的B(); C C =新C(); } 我现在测
..
有没有办法在C#或.net IL强制具有类型初始化一个类(静态构造函数)来加载自身,而无需访问它的任何参数? 假设我有类 公共静态类LogInitialization { 静态LogInitialization(){ 的System.Console.WriteLine(“初始化”); } } 有没有办法让这条线来打印? 请注意这个类是静态的,所以我不
..