Tag: 属性

Rails模型:你将如何创build一个预定义的属性集?

我试图找出devise一个轨道模型的最佳方法。 为了这个例子的目的,假设我正在构build一个字符数据库,它可能有几个不同的固定属性。 例如: Character – Morality (may be "Good" or "Evil") – Genre (may be "Action", "Suspense", or "Western") – Hair Color (may be "Blond", "Brown", or "Black") … 等等。 所以,对于angular色模型,我有几个属性,我想基本上有一个固定的可能select列表。 我希望用户能够创build一个angular色,并以我希望他们从每个可用选项中挑选一个angular色。 我也希望能够让用户使用这些属性中的每一个进行search…(例如,“向我展示'好'的angular色,从'悬念'stream派,并有'布朗'头发)。 我可以想到一些方法来做到这一点… 1:为每个属性创build一个string并validation有限的input。 在这种情况下,我将在字符表上定义一个string列“Morality”,然后在其中指定一个选项,然后对该类常量进行validation。 find好的angular色就像Character.where(:morality=>'Good') 。 这是好的,简单的,坏处是如果我想添加一些更多的细节的属性,例如有一个“好”和“邪恶”的描述,和一个页面,用户可以查看所有的字符为给定的道德。 2:为每个属性创build一个模型 在这种情况下, Character belongs_to Morality ,就会有一个Morality模式和一个有两个logging的moralities表: Morality id:1, name:Good等 find好的字符就像Morality.find_by_name('Good').characters …或者Character.where(:morality=> Morality.find(1) 。 这工作正常,但这意味着你有几个表只存在less数预定义的属性。 3:为属性创build一个STI模型 在这种情况下,我可以做同样的#2,除了创build一个通用的“CharacterAttributes”表,然后子类为“道德属性”和“GenreAttribute”等。这使得许多属性只有一个表,否则似乎大致相同作为想法#2。 […]

Java注释和C#属性之间的相似之处和区别是什么?

我有一个Java库,我正在考虑移植到C#。 Java库大量使用注释(在构build时和运行时)。 我从来没有使用C#属性,但明白它们是Java注释的大致等价物。 如果我继续使用属性来replace注释,我需要知道什么? 什么是一样的? 不同? 怎么咬我

如何使用Key-Value Coding来判断对象是否存在一个对象?

我想testing一个对象是否在iPhone SDK中有一个可写的@property。 这样做的一个可能的方法是检查-valueForKey:方法,但这似乎相当不雅! 例: @try { id *value = [instance valueForKey:@"myProperty"]; } @catch (NSException * e) { // Key did not exist } 有没有更好的方法来做到这一点?

自动属性综合(@property)和inheritance

随着XCode 5.1,出现一个新的警告。 这让我明白,我做错了什么。 这个想法是有一个对象(模型),它是从原始类inheritance的可变版本。 所以这个想法是打开一个readonly的属性来readwrite @interface Car : NSObject @property (strong, readonly) NSString *name; @end @interface MutableCar : Car @property (strong, readwrite) NSString *name; @end 这些需要在不同的文件(如两个正常的类)。 它给出了这个警告: Auto property synthesis will not synthesize property 'name' because it is 'readwrite' but it will be synthesized 'readonly' via another property 所以我想知道什么是正确的解决scheme来做这样的事情,如果这是可能的。 如果需要编写访问器,并避免使用自动合成等,只需要精确,并支持文件或任何其他答案。

如何检查对象的所有属性是否为空或空?

我有一个对象让我们称之为ObjectA 该对象有10个属性,这些都是string。 var myObject = new {Property1="",Property2="",Property3="",Property4="",…} 有无论如何检查,看所有这些属性是空的还是空的? 那么任何内置的方法将返回true或false? 如果它们中的任何一个不为空或空,则返回将是错误的。 如果他们都是空的,它应该返回true。 这个想法是我不想写10语句来控制如果这些属性是空的或空的。 谢谢

向C#添加“懒惰”关键字的问题

我很想写这样的代码: class Zebra { public lazy int StripeCount { get { return ExpensiveCountingMethodThatReallyOnlyNeedsToBeRunOnce(); } } } 编辑:为什么? 我认为这看起来好于: class Zebra { private Lazy<int> _StripeCount; public Zebra() { this._StripeCount = new Lazy(() => ExpensiveCountingMethodThatReallyOnlyNeedsToBeRunOnce()); } public lazy int StripeCount { get { return this._StripeCount.Value; } } } 第一次调用属性时,它将在get块中运行代码,之后只是从中返回值。 我的问题: 将这种关键字添加到库中会涉及哪些费用? 在什么情况下会有问题? 你会觉得这有用吗? 我并没有开始讨论这个问题,但是我很好奇这个function需要考虑什么样的考虑。

属性私人设置;

我知道它只允许class级设置,但是有什么意义呢? 如何解决只读id的问题? 说我有一个人课: public class Person { public string Name { get; set; } public int Id { get; private set; } public int Age { get; set; } } 这是在一个Entities.dll ,由GUI,BL和DAL使用。 GUI调用BL: List<Person> p = BL.PeopleBL.GetPeople(); 为了举例说明DAL: … while(dr.read()) { returnPersonList.add( new Person{ Age=dr.GetInt32(1), Id=dr.GetInt32(0), Name=dr.GetString(2)}) } … 当然我不能这样做因为Id是一个私人的集合; 什么是正确的方法来做到这一点? 我怎么能让BL / Dal设置ID,但不是在GUI上? 或者这是不是正确使用私人设置? […]

非系列化属性

当我写这样的代码 [XmlIgnore] [NonSerialized] public List<string> paramFiles { get; set; } 我得到以下错误: Attribute 'NonSerialized' is not valid on this declaration type. It is only valid on 'field' declarations. 如果我写 [field: NonSerialized] 我收到以下警告 'field' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are 'property'. All attributes in this block will […]

为什么要将属性添加到已经实例化的对象中?

我正在学习python,尽pipe我认为我理解了Python的全部概念和概念,但是今天我偶然发现了一些我并没有完全理解的代码: 说我有一个class级,应该定义圈子,但缺乏一个身体: class Circle(): pass 由于我没有定义任何属性,我怎么能这样做: my_circle = Circle() my_circle.radius = 12 奇怪的部分是Python接受上述语句。 我不明白为什么Python不会提出一个undefined name error 。 我明白,通过dynamictypes,我只是将variables绑定到对象,只要我想,但不应该在Circle类中存在一个属性radius允许我这样做? 编辑 :在你的答案很多精彩的信息! 谢谢大家的所有这些梦幻般的答案! 很可惜,我只能把其中一个标记为答案。

用jquery添加和删除属性

这是我的button: <button id="add">Add</button> <button id="remove">Remove</button> 这是我的JavaScript代码: <script type="text/javascript"> $(document).ready(function(){ /*** Add attribute ***/ $("#add").click(function(){ $("#page_navigation1").attr("id","page_navigation1"); }); /*** Remove attribute ***/ $("#remove").click(function(){ $("#page_navigation1").removeAttr("id"); }); }); </script> 这是我的HTML代码: <div id="page_navigation1">next</div> 我的问题是,当我点击删除button一切都很好,ID将被删除,但点击删除button后,当我点击添加button,代码不工作,没有任何反应! 我需要添加和删除ID代码,但我可以删除ID,我不能添加ID。 我需要一些帮助,还有一件事, 当button处于活动状态时,如何为button添加CSS样式? 像这样,当我点击删除button,我想要改变button背景为红色。 我需要添加css类来添加和删除当button处于活动状态! 我不知道如何!