这个问题在这里已经有了答案:ArethereanyreasonstouseprivatepropertiesinC#?(19个回答)关闭9年前。对于私有(private)类变量,首选哪个?如果你有一个像intlimit这样的属性,你希望它是:intLimit{get;set;}并在类中使用它,像这样:this.Limit是否有理由使用它或不使用它?可能是出于性能原因?我想知道这是否是一个好的做法。
当我们定义一个属性时publicstringName{get;set;}dotnet可以制作我们的属性代码。但是当我们使用publicstringName{get;}publicstringName{set;}我们面对'Hajloo.SomeThing.PropertyName.set'mustdeclareabodybecauseitisnotmarkedabstractorextern.Automaticallyimplementedpropertiesmustdefinebothgetandsetaccessors.其实为什么编译器不能自动判断属性并生成代码呢?有什么问题?
当我们定义一个属性时publicstringName{get;set;}dotnet可以制作我们的属性代码。但是当我们使用publicstringName{get;}publicstringName{set;}我们面对'Hajloo.SomeThing.PropertyName.set'mustdeclareabodybecauseitisnotmarkedabstractorextern.Automaticallyimplementedpropertiesmustdefinebothgetandsetaccessors.其实为什么编译器不能自动判断属性并生成代码呢?有什么问题?
我希望我的表单中的SaveButton在表单被禁用时消失。我这样做:this.formStackPanel.IsEnabled=someValue;if(this.formStackPanel.IsEnabled){this.saveButton.Visibility=Visibility.Visible;}else{this.saveButton.Visibility=Visibility.Collapsed;}有没有办法在XAML中绑定(bind)这些属性?有更好的方法吗? 最佳答案 是的。您应该能够将堆栈面板的IsEnable
我希望我的表单中的SaveButton在表单被禁用时消失。我这样做:this.formStackPanel.IsEnabled=someValue;if(this.formStackPanel.IsEnabled){this.saveButton.Visibility=Visibility.Visible;}else{this.saveButton.Visibility=Visibility.Collapsed;}有没有办法在XAML中绑定(bind)这些属性?有更好的方法吗? 最佳答案 是的。您应该能够将堆栈面板的IsEnable
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:C#:PublicFieldsversusAutomaticPropertiesDuplicate?Ithinknot:Thisquestionisnotthesameas"Whyusepropertiesinsteadofpublicfield".Apropertywithaspecifiedgetterandsetterisfardifferentthanapublicfield.Myquestionwas,isapropertyWITHOUTagetterandsetter,anydifferent.最
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:C#:PublicFieldsversusAutomaticPropertiesDuplicate?Ithinknot:Thisquestionisnotthesameas"Whyusepropertiesinsteadofpublicfield".Apropertywithaspecifiedgetterandsetterisfardifferentthanapublicfield.Myquestionwas,isapropertyWITHOUTagetterandsetter,anydifferent.最
这个问题出现在thisanswer的评论中.无法拥有只读属性被提议作为使用字段而不是属性的潜在原因。例如:classRectangle{privatereadonlyint_width;privatereadonlyint_height;publicRectangle(intwidth,intheight){_width=width;_height=height;}publicintWidth{get{return_width;}}publicintHeight{get{return_height;}}}但为什么你不能这样做呢?publicintWidth{get;readonlyse
这个问题出现在thisanswer的评论中.无法拥有只读属性被提议作为使用字段而不是属性的潜在原因。例如:classRectangle{privatereadonlyint_width;privatereadonlyint_height;publicRectangle(intwidth,intheight){_width=width;_height=height;}publicintWidth{get{return_width;}}publicintHeight{get{return_height;}}}但为什么你不能这样做呢?publicintWidth{get;readonlyse
我理解PROPERTIES相对于FIELDS的优势,但我觉得使用AUTO实现的属性优于MANUAL实现的属性并没有真正提供任何优势,除了让代码看起来更简洁一些。我觉得使用起来更舒服:privatestring_postalCode;publicstringPostalCode{get{return_postalCode;}set{_postalCode=value;}}代替:publicstringPostalCode{get;set;}主要是因为如果我想对get和set进行任何类型的自定义实现,无论如何我都必须创建自己的属性并由私有(private)字段支持。那么,为什么不从一开始就