【c#-泛型-静态成员】教程文章相关的互联网学习教程文章

在C#中,为什么在静态字段的初始值设定项中允许循环依赖?【代码】

对于静态字段,循环依赖项将产生默认值.static int a = b; // 0 static int b = a; // 0但是,它不适用于实例字段,因为它们不能互相引用.int c = d; // CS0236 A field initializer cannot reference the non-static field, method, or property int d = c; // CS0236为什么允许使用静态字段?解决方法:它不是循环依赖性,而是静态和实例字段的初始化方式不同.A variable initializer for an instance field cannot reference theinst...

单个C#类中的静态成员初始化顺序【代码】

考虑以下带有两个静态成员变量的类片段:public static class Foo{static string A = GetA(B);static string B = "required for A";...现在,我的理解是,首次访问A和B时将对其进行初始化.但是,当我执行上述片段的完整版本时,在初始化B之前已访问A,这导致将null传递给GetA()而不是“ A必需”.为什么不开始初始化A,然后又意识到需要B来初始化A,先初始化B,然后再返回以完成A的初始化,那么行为为何不开始呢? 有关此的一般规则是什么?为...

c# – 在没有静态方法的情况下创建c DLL【代码】

我在C中创建一个DLL.这是一个例子:namespace MathFuncs {class MyMathFuncs{public:// Returns a + bstatic __declspec(dllexport) double Add(double a, double b);// Returns a - bstatic __declspec(dllexport) double Subtract(double a, double b);// Returns a * bstatic __declspec(dllexport) double Multiply(double a, double b);// Returns a / b// Throws DivideByZeroException if b is 0static __declspec(dllexpor...

c# 单元测试 ,对静态方法(static)和私有方法(private) 进行单元测试

利用反射: /// <summary>/// 调用静态方法/// </summary>akf/// <param name="t">类全名</param>/// <paramname="strMethod">方法名</param>/// <paramname="aobjParams">参数表</param>/// <returns>函数返回值</returns>public static object RunStaticMethod(System.Type t, string strMethod, object[] aobjParams){BindingFlags eFlags =BindingFlags.Static | BindingFlags.Public |BindingFlags.NonPublic;return RunMetho...

用于LINQ静态方法的C/C++LI Lambda选择器【代码】

我在C/C++LI中有这个(Visual Studio 2012)Enumerable::Max((IEnumerable<IFoo^>^) Foos, [](IFoo^ f){return f->Id;});但它会导致此错误:No instance of overloaded function “System::Linq::Enumerable::Max”matches argument list它让我感到沮丧,因为lambda没有任何问题.我需要以某种方式将它投射到Func吗?解决方法:C/C++LI编译器不支持C 11 lambda表达式,它们不能转换为委托对象.虽然.NET有一个很大的开端,但是从未添加对托...

c#静态类的一段代码【代码】【图】

class A{public static int X;static A(){X = B.Y + 1;}}class B{public static int Y = A.X + 1;static B() { }static void Main(){Console.WriteLine("X={0},Y={1}", A.X, B.Y);}}执行过程:因为classB中有main函数,所以先初始化class B, Y=A.x+1;引用了A.x,编译器去初始化Class A class A 的成员变量x,——>构造函数A(),此时B未初始化完成,所以B.y为0,所以A.x=1; 返回ClassB,继续初始化成员变量Y,值为2.执行结果

c# – ASP.NET:如何使用客户端AJAX脚本调用非静态页面方法?

如何才能做到这一点?这是否会在UpdatePanel完成后排除它?解决方法:它仅支持静态方法的原因是没有实例化页面.这意味着没有页面实例,因此当然不能调用实例方法.这也意味着执行此操作时不会运行UpdatePanel功能. 一种解决方法是在静态方法中,您可以实例化页面本身,然后执行您想要的任何操作.但是,请记住,页面生命周期等内容不会运行. 要获取当前上下文,可以使用HttpContext.Current,它是一个静态属性.完成后,您可以访问会话或个人资...

C# – 静态类,私有构造函数,抽象类 – 都阻止实例创建 – 使用哪一个?【代码】

我对Static类,Private构造函数和抽象类的使用感到困惑 防止实例创建.(对备选方案感到困惑). 什么是最适合每种情况的方案?解决方法:这取决于您的需求. >静态类可以被认为是“一堆方法” – 你会使用它,如果你只需要对一些方法进行分组,样本用法:MathHelpers,使用Sin,Cos,ConvertXToY(或主机扩展方法)等方法.>私有构造函数 – 当您希望能够控制对象的创建方式时,您将使用此构造函数,例如,如果要确保这些对象只能由静态方法创建.一个...

obj1.Equals(obj2)和c#中的静态Object.Equals(obj1,obj2)有什么区别?

从Microsoft的文档中,两个Equals方法基本相同.但我偶然发现了一些非常奇怪的事情.在我的Silverlight项目中,我有两个同一类的实例覆盖了Equals.如果我要求inst1.Equals(inst2)或inst2.Equals(inst1),我总是得到结果.但是Object.Equals(inst1,inst2)返回false.这怎么可能? 有任何想法吗? 谢谢,罗茨科解决方法:obj1.Equals假定obj1不为null. object.Equals甚至可以在空值上工作.这并不能解释你所看到的行为;我认为你应该提供一些代码...

C# 网站静态页面生成器 for 多线程版【图】

原文链接:http://www.cnblogs.com/keke/archive/2010/09/07/1820871.html摘要:该生成器是用于放置于服务器上的一个小程序,用于生成站点中需要静态化的页面生成。我写c/s程序不多,所以本程序可能会有些小的bug。还望高手多多指教! 内容: 首先让大家看看该程序的几个流程界面 1.登陆界面: 说明: 此程序拥有登陆的原因是因公司有不少部门可以访问网站服务器,So构建了一个登陆来限制操作管理员操作。 账号密码位于程序...

c# – 存储对非静态方法的引用【代码】

我正在尝试创建一个值集合,每个值对应一个动作.这样,我将能够在集合中搜索特定值,然后以通用方式调用关联的操作. 所以,这是我第一次尝试:public class CommandInfo {public string Name { get; set; }public Action<RunArgument> Action { get; set; } }public class MyClass {public List<CommandInfo> Commands = new List<CommandInfo>{new CommandInfo { Name = "abc", Action = AbcAction } // <== ERROR HERE};public void ...

c# – 共享程序集中的静态字段【代码】

如果共享程序集(在GAC中)具有静态字段,并且字段的值已更新,那么是否会反映在引用共享程序集的客户端应用程序中?或者客户端应用程序是否需要重建?解决方法:如果该字段表示为const:public const int Foo = 100;然后,您将需要重建所有客户端应用程序,因为该值将被烘焙到这些客户端. 如果它只是一个公共静态只读字段:public static readonly int Foo = 100;…那么你将不需要重建客户端.该值将在执行时从程序集中获取. (当然,客户端...

没有在C#中正确定义静态变量【代码】

我是C#的新手 – 这几乎是我的第一个程序.我正在尝试创建一些公共静态变量和常量,以便在程序中的任何位置使用.我试过的错误方法是将它们声明在同一命名空间中的一个单独的类中,但它们不在主程序的上下文中.这是一个WPF应用程序.代码如下所示:namespace testXyz {class PublicVars{public const int BuffOneLength = 10000;public static int[] Buff1 = new int[BuffOneLength];public const int BuffTwoLength = 2500;public stat...

c# – CS1106扩展方法必须在非泛型静态类中定义【代码】

我一直在研究WPF C#中的一个项目,我试图让图像动画下移.我在Internet上找到了“MoveTo”功能,当我将其粘贴到代码中时发生了错误.Public partial class Window1: Window {public static int w = 1;public Window1(){InitializeComponent();}public void MoveTo(this Image target, double newY){var top = Canvas.GetTop(target);TranslateTransform trans = new TranslateTransform();target.RenderTransform = trans;DoubleAnimat...

c# – 静态字段/属性初始化【代码】

如果我有这样的类型:public struct Effect {public int Value { get; set; }public static int MinValue = Int32.MinValue; }MinValue只会初始化为ONCE,就像执行静态构造函数一样吗?或者我应该在静态构造函数中初始化MinValue? 这会对班级有什么不同吗?解决方法:它将被执行一次,但不完全像在静态构造函数中.关于何时执行类型初始化程序的规则是different when a type has a static constructor.请注意观察到的行为changed a bi...