【c# – 仅具有静态功能的Facade Pattern是不必要的层】教程文章相关的互联网学习教程文章

C#静态构造函数及静态变量学习【图】

静态构造函数: (1)用于对静态字段、只读字段等的初始化。               (2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。         (3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数 (4)静态构造函数是不可继承的,而且不能被直接调用。             (5)如果类中包含用来开始执行的 Main 方法,则该类的静态构...

c# – 在Xamarin.iOS中为2个相关静态库创建绑定【代码】

我有关于Xamarin.iOS绑定的问题. 我有2个图书馆:libA.alibB.a libB.a依赖于libA.a类.在libA中我有这个类:namespace ABC {[BaseType (typeof (NSObject))]public partial interface ClassAbc {[Export ("setString:")]void SetString (string abc);} }在libB中我有这个代码:namespace ABCUsage {[BaseType (typeof (NSObject))]public partial interface ClassAbcUsage {[Export ("setAbc:")]void SetAbc (ClassAbc abc);} }我没...

如何从C#中的Action委托中调用非静态方法【代码】

由于我正在为要执行的某个操作编写通用概念,因此我需要在Action委托中调用一些非静态方法.而且,我的代码中没有一个是静态的.但是我仍然不能在Action定义中调用非静态方法.这是我的代码 – private Dictionary<string, Action<object>> m_dicUndoRedoAction = new Dictionary<string, Action<object>>(); m_dicUndoRedoAction.Add("DeleteClass", DeleteClassFromeNode );这是DeleteClass的定义private Action<object> DeleteClassF...

c# – 更改子类中的静态变量,而不在父类中更改它【代码】

我希望a.ID()返回0而b.ID()返回1,这是我的代码:public class A { public static int id; public int ID() {return id;} }public class B : A { }public class Main {void Program() { //This executes when I execute the programA.id = 0;B.id = 1;} }但它不起作用,这也行不通:public class A {public static int id;public int ID() {return id;} }public class B : A {public new static int id; //id is actually 1 but ID()...

c# – dependecy injection和unit testing – 静态帮助方法或私有实例方法【代码】

从单元测试和依赖注入的角度来看,在辅助方法方面通常采用的规范是什么? 这是我的示例情况:public class GoodiesController : Controller {private IMyContext _context;public GoodiesController(IMyContext context){_context = context}public async Task<IAction> GetThoseGoodies(){ if(YouLikeThemThisWay(Request.Path)){var result = await _context.GoGetThemThisWay()} else { }}我的问题是,我最好将YouLikeThemThisWay...

c# – 如何在不使用HttpContext静态类的情况下在ApiController中获取HttpRequest对象?【代码】

我正在寻找一种方法来获取HttpRequest(而不是HttpRequestMessage)对象,而不使用我的ApiController中的HttpContext静态类:HttpContext.Current.Request.GetOwinContext().Get<ApplicationRoleManager>()而不是我在常规Controller中的常规属性实例:HttpContext.GetOwinContext().Get<ApplicationRoleManager>()有没有办法从ApiController的实例中获得正确的东西?解决方法:您可以使用:var context = Request.Properties["MS_HttpC...

c# – 如果父类和子类具有相同名称的静态方法,为什么它被认为是方法隐藏?【代码】

如果声明一个继承层次结构,其中父类和子类都具有相同名称和参数*的静态方法,则Visual Studio将引发警告CS0108: 例:public class BaseClass {public static void DoSomething(){} }public class SubClass : BaseClass {public static void DoSomething(){} }:警告CS0108:’SubClass.DoSomething()’隐藏继承的成员’BaseClass.DoSomething()’.如果要隐藏,请使用new关键字. 为什么这个方法被隐藏了?这两种方法都不涉及继承层次...

c# – 静态类中的对象实例【代码】

我正在开发一个包含多个WCF服务引用的Web应用程序.目前,每次我们需要拨打服务时,我们都会执行以下操作(例如):Service.ServiceClient ServiceClient = new Service.ServiceClient(); ServiceClient.SomeMethod();如果一个静态类具有对每个Service的静态引用并改为调用该类,那么是否更好?从而避免每次我们想要调用它时创建ServiceClient对象的新实例? 例如:public static class Services {private static Service.ServiceClient ...

c# – 从GenericClass访问静态方法,其中T由Type实例给出【代码】

我有一个带静态方法的泛型类,该方法使用type参数:GenericClass<T> {public static void Method(){//takes info from typeof(T)} }现在,我需要访问该静态方法,但不是简单地使用GenericClass< KnownType> .Method().我需要有一个Type实例.所以:public void OutsiderMethod(Type T) {GenericClass<T>.Method() //it's clear this line won't compile, for T is a Type instance//but i want some way to have access to that static...

c# – 如何使锁定对象静态影响其行为?【代码】

假设我有一个类似于以下成员的类:readonly object _locker;我用它来同步代码块,如下所示:lock (_locker) {// Do somethingMonitor.Pulse(_locker); }还有这个:lock (_locker) {while (someCondition)Monitor.Wait(_locker);// Do something else }假设我有这个特定类的多个实例,它们都使用不同的线程同时运行. 如果我将锁定器对象设置为静态,那么锁的行为和Monitor.Wait和Monitor.Pulse调用会发生什么?static readonly object ...

在c#中从另一个类或静态方法更改wpf元素/控件【代码】

我有一个MainWindow,它包含一个文本块[statusTextblock],它绑定到一个字符串[StatusText]. StatusTextblock需要显示来自另一个窗口的组合框结果.当它在另一个窗口中发生变化时,我将这些数据传递回mainwindow,并且当发生这种情况时我已经创建了一个静态方法来更改字符串. 但是,所有这些的静态性使我无法在任何时候将我的textbox元素更改为StatusText的新值. 我考虑过工作,以便在用户返回Mainwindow时进行更改,但我没有成功.我尝试了...

c# – 外部和静态的顺序是否重要?【代码】

比较两个文件(旧的和新的),我看到:private extern static void SipShowIM(uint dwFlag);…在旧文件中,并且:private static extern void SipShowIM(uint dwFlag);…在新文件中. 为什么他们改变了我不知道;首先出现的是外部还是静态? UPDATE Resharper一定是这样做的,因为我知道我没有这样做(直接),但这是旧的另一个区别:public volatile static bool ProcessCommands = true;……和新的:public static volatile bool ProcessCo...

c# – 保证每个应用程序域只运行一次静态构造函数.如何?【代码】

每个应用程序域的静态构造函数为guaranteed to be run only once.在创建第一个实例或引用任何静态成员之前自动调用它.CLR如何保证这一点?假设有两个线程访问一个同时具有静态构造函数的类.这两个线程都是第一次.如下:class SomeType {Static SomeType(){Console.Write("hello");} }因此,由于同时性,CLR如何保证控制台只写一次?使用锁或其他东西?解决方法:CLR在进入静态构造函数之前取出一个锁,以保证它只由一个线程执行一次. 如...

c# – 如何从XAML引用静态类字段【代码】

我有我的XAML引用的以下类:public static class SearchVariables {public static DataGridCellInfo current_cell_match;public static string current_cell_property;public static void setCurrentCell(Object dgi, DataGridColumn dgc, string property_name){current_cell_property = property_name;if (property_name == null){current_cell_match = new DataGridCellInfo();}else{current_cell_match = new DataGridCellInfo...

c# – 静态只读字段的初始化顺序【代码】

参见英文答案 > Order of static constructors/initializers in C# 4个我很好奇C#规范说明了在C#5(.net4)中初始化静态字段的顺序.例如:public class Test {public static readonly string A = "hi";public static readonly string B = "bye";public static readonly string DEFAULT = A; }在测试(Mono 2.x)中,它们似乎按照它们在代码中出现的顺序进行初始化.例如.因此,DEFAULT将具有值“hi”,...

功能 - 相关标签