Questions tagged «properties»

在某些面向对象的编程语言中,属性是一种特殊的类成员,介于字段(或数据成员)和方法之间。属性的读取和写入就像字段一样,但是(通常)将属性读取和写入转换为get和set方法调用。

11
公共字段与自动属性
人们经常被告知,我们应该通过为类字段创建getter和setter方法(C#中的属性)来保护封装,而不是将字段暴露给外界。 但是在很多情况下,只有一个字段可以保存一个值,而无需获取或设置任何计算。对于这些,我们都将使用以下数字: public class Book { private string _title; public string Title { get{ return _title; } set{ _title = value; } } } 好吧,我有一个坦白的话,我忍不住写所有的东西(真的,不必写它,而不必去看它),所以我流氓并使用了公共领域。 然后是C#3.0,我看到它们添加了自动属性: public class Book { public string Title {get; set;} } 哪个比较整洁,我对此很感激,但实际上,与仅公开场地有何不同? public class Book { public string Title; }

10
使用反射设置对象属性
在C#中,有没有一种方法可以使用反射来设置对象属性? 例如: MyObject obj = new MyObject(); obj.Name = "Value"; 我想开始obj.Name思考。就像是: Reflection.SetProperty(obj, "Name") = "Value"; 有办法吗?

23
react-router-将道具传递给处理程序组件
我使用React Router的 React.js应用程序具有以下结构: var Dashboard = require('./Dashboard'); var Comments = require('./Comments'); var Index = React.createClass({ render: function () { return ( <div> <header>Some header</header> <RouteHandler /> </div> ); } }); var routes = ( <Route path="/" handler={Index}> <Route path="comments" handler={Comments}/> <DefaultRoute handler={Dashboard}/> </Route> ); ReactRouter.run(routes, function (Handler) { React.render(<Handler/>, document.body); …

10
语义问题:属性的合成吸气剂遵循可可命名约定返回“拥有的”对象
我目前正在使用iOS 5 SDK尝试开发我的应用。我正在尝试将NSString设置为属性,然后在.m文件中对其进行合成(我之前做过但没有任何问题)。现在,我遇到了这样一个问题:“语义问题:属性的合成吸气剂遵循可可命名约定来返回“拥有的”对象。” 这是我的代码:.h @interface ViewController : UIViewController { NSString *newTitle; } @property (strong, nonatomic) NSString *newTitle; .m @synthesize newTitle; 有人知道我该如何解决吗?谢谢!!

8
Kotlin-使用“ by lazy”和“ lateinit”进行属性初始化
在Kotlin中,如果您不想在构造函数内部或在类主体顶部初始化类属性,则基本上有以下两个选项(来自语言参考): 延迟初始化 lazy()是一个函数,它需要一个lambda并返回Lazy的一个实例,该实例可以充当实现lazy属性的委托:对get()的第一次调用执行传递给lazy()的lambda并记住结果,随后的调用get()只是返回记忆的结果。 例 public class Hello { val myLazyString: String by lazy { "Hello" } } 因此,无论在哪里,对myLazyString的第一个调用和后续调用都将返回“ Hello” 后期初始化 通常,必须在构造函数中初始化声明为非空类型的属性。但是,这经常不方便。例如,可以通过依赖项注入或在单元测试的设置方法中初始化属性。在这种情况下,您不能在构造函数中提供非null的初始值设定项,但在引用类的主体内的属性时仍要避免执行null检查。 要处理这种情况,可以使用lateinit修饰符标记该属性: public class MyTest { lateinit var subject: TestSubject @SetUp fun setup() { subject = TestSubject() } @Test fun test() { subject.method() } } 该修饰符只能用于在类主体内声明的var属性(不适用于主构造函数),并且只能在该属性没有自定义getter或setter的情况下使用。该属性的类型必须为非null,并且不能为原始类型。 那么,由于这两个选项都可以解决相同的问题,因此如何在这两个选项之间正确选择?
279 properties  kotlin 

12
根据对象属性删除数组元素
我有一个像这样的对象数组: var myArray = [ {field: 'id', operator: 'eq', value: id}, {field: 'cStatus', operator: 'eq', value: cStatus}, {field: 'money', operator: 'eq', value: money} ]; 如何根据其属性删除特定的? 例如,我将如何删除以'money'作为字段属性的数组对象?



16
有什么理由在C#中使用私有属性吗?
我刚刚意识到C#属性构造也可以与私有访问修饰符一起使用: private string Password { get; set; } 尽管从技术上讲这很有趣,但是我无法想象何时使用它,因为私有字段甚至仪式更少: private string _password; 而且我无法想象何时需要内部获取但不设置或设置但不设置获取私有字段: private string Password { get; } 要么 private string Password { set; } 但是也许有一个带有嵌套/继承类的用例,或者一个get / set可能包含逻辑而不是仅仅返回属性的值,尽管我倾向于使属性严格简单,让显式方法执行任何逻辑,例如GetEncodedPassword()。 是否有人出于某种原因在C#中使用私有属性,还是仅仅是在技术上实际上尚未实际使用的代码构造之一? 附录 不错的答案,仔细阅读它们,我便剔除了私人财产的这些用途: 当需要延迟加载私有字段时 当专用字段需要额外的逻辑或为计算值时 因为私有字段可能很难调试 为了“向自己出示合同” 在内部转换/简化公开属性作为序列化的一部分 包装全局变量以在您的类中使用

13
通过C#中的引用传递属性
Наэтотвопросестьответына 堆栈溢出нарусском:Передачасвойствасметодсмодификатором裁判и出 我正在尝试执行以下操作: GetString( inputString, ref Client.WorkPhone) private void GetString(string inValue, ref string outValue) { if (!string.IsNullOrEmpty(inValue)) { outValue = inValue; } } 这给了我一个编译错误。我认为我正在努力实现的目标很明确。基本上,我想GetString将输入字符串的内容复制到的WorkPhone属性Client。 是否可以通过引用传递属性?

7
为什么在实体框架模型定义中为类属性使用“虚拟”?
在以下博客中:http : //weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx 该博客包含以下代码示例: public class Dinner { public int DinnerID { get; set; } public string Title { get; set; } public DateTime EventDate { get; set; } public string Address { get; set; } public string HostedBy { get; set; } public virtual ICollection<RSVP> RSVPs { get; set; …
223 c#  class  properties  virtual 

17
如何使用Java属性文件?
我有要配置为Java属性文件的键/值对的列表,以后再加载和迭代。 问题: 我是否需要将文件存储在与将要加载它们的类相同的程序包中,或者应该在任何特定位置放置文件? 该文件是否需要以任何特定的扩展名结尾还是.txt可以的? 如何在代码中加载文件 我如何遍历其中的值?
219 java  properties 

12
Swift类中的错误:super.init调用未初始化属性
我有两节课,Shape和Square class Shape { var numberOfSides = 0 var name: String init(name:String) { self.name = name } func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." } } class Square: Shape { var sideLength: Double init(sideLength:Double, name:String) { super.init(name:name) // Error here self.sideLength = sideLength numberOfSides = 4 …

6
我可以在React.js中更新组件的道具吗?
在开始使用React.js之后,它似乎props是静态的(从父组件传入),而state基于事件的更改则似乎是静态的。但是,我在文档中注意到对的引用componentWillReceiveProps,其中具体包括以下示例: componentWillReceiveProps: function(nextProps) { this.setState({ likesIncreasing: nextProps.likeCount > this.props.likeCount }); } 这似乎意味着,性能可以改变根据的比较组件nextProps来this.props。我想念什么?道具如何更改,或者我误认为道具的调用位置?

24
如何动态地向类添加属性?
目标是创建一个行为类似db结果集的模拟类。 因此,例如,如果数据库查询使用dict表达式返回{'ab':100, 'cd':200},那么我想看看: >>> dummy.ab 100 刚开始我以为我可以这样做: ks = ['ab', 'cd'] vs = [12, 34] class C(dict): def __init__(self, ks, vs): for i, k in enumerate(ks): self[k] = vs[i] setattr(self, k, property(lambda x: vs[i], self.fn_readyonly)) def fn_readonly(self, v) raise "It is ready only" if __name__ == "__main__": c = C(ks, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.