草庐IT

setPrimitive-setter

全部标签

properties - 为具有定义的 getter 和 setter 的属性设置默认值

我有一个非常简单的类classSimpleClass{varsimpleDescription:String{get{returnself.simpleDescription}set{self.simpleDescription=newValue}}}为simpleDescription变量定义默认值的正确方法是什么? 最佳答案 在Swift中,getter和setter用于计算属性-属性没有存储空间,因此,在您的情况下,不能在中设置simpleDescription一个二传手。如果您需要默认值,请使用:classSimpleCla

ios - Swift 中的 Objective C Setter 覆盖

我需要在我的自定义UIButton子类中覆盖UIViews高亮属性的setter;objective-c@property(nonatomic,getter=isHighlighted)BOOLhighlighted;像这样覆盖-(void)setHighlighted:(BOOL)highlighted{[supersetHighlighted:highlighted];if(highlighted){self.backgroundColor=UIColorFromRGB(0x387038);}else{self.backgroundColor=UIColorFromRGB(0x5b

swift - 属性观察者 willSet 和 didSet;属性 getter 和 setter

willSet-didSet和get-set之间有什么区别?属性(property)?在我看来,它们都可以为一个属性设置一个值。何时以及为何应使用willSet-didSet,以及何时使用get-set?我知道对于willSet和didSet,结构如下所示:varvariable1:Int=0{didSet{println(variable1)}willSet(newValue){..}}varvariable2:Int{get{returnvariable2}set(newValue){}} 最佳答案 Whenandwhyshou

c# - 最小起订量:在没有 setter 的情况下设置属性?

我有以下类(class):publicclassPairOfDice{privateDiced1,d2;publicintValue{get{returnd1.Value+d2.Value;}}}现在我想在我的测试中使用一个返回值1的PairOfDice,尽管我在我的真实骰子中使用随机值:[Test]publicvoidDoOneStep(){varmock=newMock();mock.Setup(x=>x.Value).Return(2);PairOfDiced=mock.Object;Assert.AreEqual(1,d.Value);}不幸的是,我收到了一个Invalidse

c# - bool 属性 Getter 和 Setter 锁定

为什么要在这样的bool属性的getter和setter周围创建锁?private_lockObject=newobject();privatebool_myFlag;publicboolMyFlag{get{lock(_lockObject){return_myFlag;}}set{lock(_lockObject){_myFlag=value;}}} 最佳答案 好吧,您不一定需要锁-但如果您希望一个线程明确读取另一个线程写入的值,您要么需要锁,要么需要一个volatile变量。我个人已经放弃尝试理解volatile的确切含义。我

c# - 从属性 getter 或 setter 方法创建委托(delegate)

要从方法创建委托(delegate),您可以使用编译类型安全语法:privateintMethod(){...}//andcreatethedelegatetoMethod...Funcd=Method;属性是getter和setter方法的包装器,我想创建一个属性getter方法的委托(delegate)。有点像publicintProp{get;set;}Funcd=Prop;//or...Funcd=Prop_get;不幸的是,这不起作用。我必须创建一个单独的lambda方法,当getter方法无论如何都与委托(delegate)签名匹配时,这似乎是不必要的:Funcd=()=>

c# - 接口(interface) : Setter without a Getter

我最近遇到一个接口(interface),它只定义了一个setter,如下所示:publicinterfaceIAggregationView{DataTableSetSiteData{set;}}我对此进行了查询,认为这是微软倡导的WebPart设计(forSharePoint)的做法之一。事实上这个例子是直接从他们的例子中复制过来的。我认为这是一个不好的模式,我不明白为什么有人应该能够设置一个值,然后不能再次读取它,我相信setter应该总是伴随着getter(但是不一定相反)。我想知道是否有人可以解释只有一个setter的好处,为什么Microsoft可能会在这种情况下建议它,以

c# - 为什么 C# 编译器不允许接口(interface)中的私有(private)属性 setter ?

在某些情况下,例如MVVMView模型,我有时需要有私有(private)setter,因为View模型公开了一个只能在内部修改的状态。那么在接口(interface)上需要私有(private)setter是错误的吗?(我的意思不是特别是在描述的场景中)如果不是,为什么C#编译器不允许它?谢谢。 最佳答案 根据定义,接口(interface)是供其他代码使用的契约,而不是供私有(private)成员使用的契约。但是,您可以在接口(interface)中指定只读属性并在具体类中实现私有(private)setter:publicin

c# - 为什么方法缺乏凝聚力(LCOM)包括getters和setters

我正在查看此处显示的LCOM指标,http://www.ndepend.com/Metrics.aspx所以我们说了一些事情,1)Aclassisutterlycohesiveifallitsmethodsuseallitsinstancefields2)Bothstaticandinstancemethodsarecounted,itincludesalsoconstructors,propertiesgetters/setters,eventsadd/removemethods如果我看这样的类,publicclassAssessment{publicintStartMetres{g

c# - wpf 事件 setter 处理程序绑定(bind)样式

我有一个样式,我想使用RelativeSource将命令绑定(bind)到EventSetter的Handler。命令在viewModel中。问题是我得到一个错误,因为这有问题(也许不可能以这种简单的方式做到这一点)我之前用google搜索了很多,我找到了AttachedCommandBehaviour,但我认为它不适用于样式。你能给出一些关于如何解决这个问题的提示吗?2011年10月13日更新我在MVVMLightToolkitEventToCommand示例程序中找到了这个:但在这里,绑定(bind)不在样式中。如何将此EventToCommand设置为按钮的样式?