草庐IT

static成员

全部标签

c# - 单例成员的线程安全使用

我有一个多个类使用的C#单例类。通过Instance访问Toggle()方法线程安全吗?如果是,根据什么假设、规则等。如果不是,为什么和我该如何解决?publicclassMyClass{privatestaticreadonlyMyClassinstance=newMyClass();publicstaticMyClassInstance{get{returninstance;}}privateintvalue=0;publicintToggle(){if(value==0){value=1;}elseif(value==1){value=0;}returnvalue;}}

c# - 如何为数组数据成员定义 get 和 set?

我正在创建一个类Customer,它具有以下数据成员和属性:privatestringcustomerName;privatedouble[]totalPurchasesLastThreeDays;//arrayof3elementsthatwillholdthetotalsofhowmuchthecustomerpurchasedforthepastthreedaysi.e.element[0]=100,element[1]=50,element[2]=250publicstringCustomerName{get{returncustomerName;}set{customerNa

c# - 如何访问嵌套类的私有(private)成员?

背景:我已经将(父)类E和嵌套类N封闭起来,并在E中包含多个N实例。在封闭的(父)类中,我正在做一些计算,并为嵌套类的每个实例设置值。像这样:n1.field1=...;n1.field2=...;n1.field3=...;n2.field1=...;...这是一个很大的eval方法(在父类中)。我的意图是——因为所有计算都在父类中(它们不能在每个嵌套实例中完成,因为它会使代码更复杂)——使setter仅对父类可用,而getter公开。现在有一个问题:当我将setter设为私有(private)时,父类无法访问它们当我将它们公开时,每个人都可以改变这些值C#没有友元概念我无法在构造函

C#类没有实现继承的抽象成员

如果我问的是愚蠢的问题,我很抱歉,但我完全是C#和ASP.NET的新手。我的代码有错误,我不明白。我正在使用VisualStudio2008。在这行代码中:publicclassSQLFAQProvider:DBFAQProvider我收到这个错误:Moby.Commerce.DataAccess.FAQ.SQLFAQProviderdoesnotimplementinheritedabstractmemberMoby.Commerce.DataAccess.FAQDBFAQProvider.DeleteFAQbyID(int)当我转到DBFAQProvider时,错误出现在这行代码中

c# - 通过动态引用访问嵌套类的成员时发生 StackOverflowException

我已经定义了一个从BindingList派生的泛型类,并且有一个嵌套的非泛型类:classGeneric:BindingList.Inner>{publicclassInner{publicobjectFoo{get;set;}}}当尝试通过动态引用访问Value属性时,mscorlib中出现StackOverflowException,如下所示:dynamicd=newGeneric.Inner();varvalue=d.Foo;//StackOverflowExceptionvarvalue=d.Bar//StackOverflowExceptionaswell,nota//'Ru

c# - 为什么以这种方式调用 Action 成员是无效语法?

以下代码会产生语法错误:classFoo{publicActiona=()=>{};}voiddoSomething(){varfoo=newFoo();(foo.a)();//errorCS1525:Invalidexpressionterm')'}但是,以下替代方案都有效:foo.a();//worksActiona=foo.a;a();//works为什么会这样?(foo.a)是一个Action;为什么我不能调用它? 最佳答案 会发生什么?那是因为这段代码(foo.a)();会评估为一个cast-expression,如foo

c# - .NET 中是否可以将类的成员对象的事件暴露给外部?

假设我在ASP.NET中有一个包含按钮的用户控件:publicclassMyUserControl:UserControl{privateButtonbtnSave=newButton();}我可以通过创建指向按钮的属性将按钮的任何属性暴露给外部:publicstringSaveButtonText{get{returnbtnSave.Text;}set{btnSave.Text=value;}}然后我可以这样做来设置按钮的文本:MyControl.SaveButtonText="helloworld";我是否也可以使用类似的构造来将按钮的事件暴露给外部?像这样的东西:publicev

c# - 如何禁用 ASP.NET 成员身份提供程序的帐户?

我正在使用asp.net成员(member)提供程序。如果用户发布垃圾邮件,我需要阻止用户帐户。我如何使用MembershipProvider的内置功能来完成它。我可以使用IsLockedOut吗?如果是这样,我如何以编程方式更新它?谢谢 最佳答案 MembershipUseruser=Membership.GetUser("Yourusername");if(user!=null){user.IsApproved=false;Membership.UpdateUser(user);}

c# - c#中readonly关键字/Expression-bodied成员之间的区别?哪个更好?

在C#中,只读成员可以减少为只读自动属性/不可变成员的表达式体成员是表达式体成员比使用只读关键字更好吗?使用只读键:publicstaticreadonlystringCOMPANY_NAME="XYZ";使用Expression-bodied成员:publicstaticstringCOMPANY_NAME=>"XYZ";我遇到过各种论坛和解决方案,这些论坛和解决方案建议将表达式主体成员用于速记,但我找不到它在性能上有何不同。 最佳答案 让我们深入了解一下编译器对不同类型的字段做了什么。classProgram{publiccon

c# - 成员变量和成员属性之间的区别?

在某些情况下,我在类的顶部声明了成员变量,然后还声明了一个属性来访问或设置该成员变量,但我问自己,如果只访问该变量,那么该属性是否是必需的,并且从类内部而不是其他地方设置,那么使用属性访问和设置成员变量而不是直接对成员变量本身进行设置的优点是什么。这是一个例子:publicclassCar{intspeed;//IsthissufficientenoughifCarwillonlysetandgetit.publicCar(intinitialSpeed){speed=initialSpeed;}//Isthisactuallynecessary,isitonlyforsettinga