คำถามติดแท็ก properties

คุณสมบัติในภาษาการเขียนโปรแกรมเชิงวัตถุบางอย่างเป็นสมาชิกประเภทคลาสพิเศษซึ่งอยู่ตรงกลางระหว่างเขตข้อมูล (หรือสมาชิกข้อมูล) และวิธีการ คุณสมบัติเป็นแบบอ่านและเขียนเช่นเขตข้อมูล แต่คุณสมบัติการอ่านและการเขียนคือ (ปกติ) แปลเพื่อรับและตั้งค่าการเรียกเมธอด

10
ความแตกต่างระหว่างคุณสมบัติและฟิลด์ใน C # 3.0+
Наэтотвопросестьответына กองมากเกินнарусском : Длячегонужнысвойства? ฉันรู้ว่ามันน่าจะเป็นสิ่งที่ซ้ำกันของความแตกต่างระหว่างสนามและสถานที่ให้บริการใน C # คืออะไร? แต่คำถามของฉันมีความแตกต่างเล็กน้อย (จากมุมมองของฉัน): เมื่อฉันรู้ว่า ฉันจะไม่ใช้คลาสของฉันกับ "เทคนิคที่ใช้งานได้กับคุณสมบัติ" เท่านั้นและ ฉันจะไม่ใช้รหัสตรวจสอบใน getter / setter มีความแตกต่าง (ยกเว้นสไตล์ / การพัฒนาในอนาคต) เช่นการควบคุมบางอย่างในการตั้งค่าคุณสมบัติหรือไม่? มีความแตกต่างเพิ่มเติมระหว่าง: public string MyString { get; set; } และ public string myString; (ฉันทราบว่าเวอร์ชันแรกต้องใช้ C # 3.0 ขึ้นไปและคอมไพเลอร์สร้างฟิลด์ส่วนตัว)


8
ตัวเลือกการตั้งค่าคุณสมบัติการกำหนดค่าการตั้งค่า - เมื่อใดและเพราะเหตุใด
มีหลายคำที่มีความหมายคล้ายกัน (ในบางแง่): ตัวเลือกการตั้งค่าคุณสมบัติการกำหนดค่าการตั้งค่า ภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน คุณช่วยอธิบายความแตกต่างเป็นภาษาอังกฤษแบบง่ายได้ไหม? ฉันคิดว่าแม่แบบต่อไปนี้อาจมีประโยชน์: ใช้XXXใน GUI ของคุณเพื่อให้ผู้คนเปลี่ยนลักษณะการทำงานของแอปพลิเคชันของคุณ(อาจเป็นการตั้งค่าหรือการตั้งค่า?) ใช้YYYใน GUI ของคุณเพื่อให้ผู้คนเปลี่ยนบางส่วนของวัตถุ(อาจเป็นคุณสมบัติหรือตัวเลือก?) ใช้ZZZในรหัสของคุณ ... แนวปฏิบัติที่ดีที่สุดคืออะไร

15
เข้าถึงไฟล์คุณสมบัติโดยทางโปรแกรมด้วย Spring?
เราใช้โค้ดด้านล่างเพื่อฉีด Spring beans ด้วยคุณสมบัติจากไฟล์คุณสมบัติ <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations" value="classpath:/my.properties"/> </bean> <bean id="blah" class="abc"> <property name="path" value="${the.path}"/> </bean> มีวิธีที่เราสามารถเข้าถึงคุณสมบัติโดยทางโปรแกรมหรือไม่? ฉันพยายามทำโค้ดโดยไม่ต้องพึ่งพาการฉีด ดังนั้นฉันต้องการเพียงแค่มีโค้ดดังนี้: PropertyPlaceholderConfigurer props = new PropertyPlaceholderConfigurer(); props.load("classpath:/my.properties"); props.get("path");
139 spring  properties 

24
ไฟล์คุณสมบัติในหลาม (คล้ายกับคุณสมบัติของ Java)
รับรูปแบบต่อไปนี้ ( .propertiesหรือ. ini ): propertyName1=propertyValue1 propertyName2=propertyValue2 ... propertyNameN=propertyValueN สำหรับJavaมีคลาสPropertiesที่มีฟังก์ชั่นในการแยก / โต้ตอบกับรูปแบบข้างต้น มีบางอย่างที่คล้ายกันในห้องสมุดมาตรฐานของไพ ธ อน (2.x) หรือไม่? ถ้าไม่มีฉันมีทางเลือกอื่นอีกบ้าง?
137 python  properties 


7
อ่านไฟล์คุณสมบัติภายนอกไฟล์ JAR
ฉันมีไฟล์ JAR ซึ่งรหัสทั้งหมดของฉันถูกเก็บถาวรเพื่อใช้งาน ฉันต้องเข้าถึงไฟล์คุณสมบัติที่ต้องเปลี่ยนแปลง / แก้ไขก่อนการรันแต่ละครั้ง ฉันต้องการเก็บไฟล์คุณสมบัติไว้ในไดเร็กทอรีเดียวกันกับที่ไฟล์ JAR อยู่ มีการแจ้งให้ Java รับไฟล์คุณสมบัติจากไดเร็กทอรีนั้นหรือไม่? หมายเหตุ: ฉันไม่ต้องการเก็บไฟล์คุณสมบัติไว้ในโฮมไดเร็กทอรีหรือส่งเส้นทางของไฟล์คุณสมบัติในอาร์กิวเมนต์บรรทัดคำสั่ง
131 java  properties 

4
ข้อผิดพลาด: คุณสมบัติอะตอมแบบเขียนได้ไม่สามารถจับคู่ setter / getter ที่สังเคราะห์ได้กับ setter / getter ที่ผู้ใช้กำหนด
ฉันเพิ่งพยายามรวบรวมโครงการ Xcode รุ่นเก่า (ซึ่งใช้ในการรวบรวมได้ดี) และตอนนี้ฉันเห็นข้อผิดพลาดมากมายของแบบฟอร์มนี้: error: writable atomic property 'someProperty' cannot pair a synthesized setter/getter with a user defined setter/getter รูปแบบรหัสที่ทำให้เกิดข้อผิดพลาดเหล่านี้จะเป็นดังนี้: // Interface: @property (retain) NSObject * someProperty; // Implementation: @synthesize someProperty; // to provide the getter - (void)setSomeProperty:(NSObject *)newValue { //.. } ฉันเห็นได้ว่าเหตุใดจึงเกิดข้อผิดพลาดขึ้น ฉันบอกคอมไพเลอร์เพื่อสังเคราะห์ accessors คุณสมบัติของฉัน (ทั้งทะเยอทะยานและ setter) และหลังจากนั้นทันทีฉันแทนที่ตัวตั้งค่าด้วยตนเอง …

10
การแทนที่คุณสมบัติที่เก็บไว้ใน Swift
ฉันสังเกตเห็นว่าคอมไพเลอร์ไม่ยอมให้ฉันแทนที่คุณสมบัติที่เก็บไว้ด้วยค่าอื่นที่เก็บไว้ (ซึ่งดูแปลก): class Jedi { var lightSaberColor = "Blue" } class Sith: Jedi { override var lightSaberColor = "Red" // Cannot override with a stored property lightSaberColor } อย่างไรก็ตามฉันได้รับอนุญาตให้ทำสิ่งนี้กับคุณสมบัติที่คำนวณได้: class Jedi { let lightSaberColor = "Blue" } class Sith: Jedi { override var lightSaberColor : String{return "Red"} } เหตุใดฉันจึงไม่ได้รับอนุญาตให้ให้ค่าอื่น เหตุใดการลบล้างทรัพย์สินที่เก็บไว้จึงเป็นสิ่งที่น่ารังเกียจและทำด้วยโคเชอร์ที่คำนวณได้ …

5
การดีบักคุณสมบัติอัตโนมัติ
มีวิธีใดบ้างในการตั้งค่าเบรกพอยต์บน setter / getter ในคุณสมบัติที่ใช้งานอัตโนมัติ int Counter { get; set; } นอกเหนือจากการเปลี่ยนเป็นคุณสมบัติมาตรฐาน (ฉันกำลังทำในลักษณะนี้ แต่ในการทำเช่นนั้นฉันต้องเปลี่ยนและคอมไพล์โครงการใหม่ทั้งหมด)

4
คุณสมบัติตัวแปรแบบอ่านอย่างเดียวและไม่คำนวณใน Swift
ฉันกำลังพยายามคิดบางอย่างด้วยภาษา Apple Swift ใหม่ สมมติว่าฉันเคยทำสิ่งต่อไปนี้ใน Objective-C ฉันมีreadonlyคุณสมบัติและไม่สามารถเปลี่ยนแปลงได้ทีละรายการ อย่างไรก็ตามเมื่อใช้วิธีการเฉพาะคุณสมบัติจะเปลี่ยนไปในทางตรรกะ ฉันใช้ตัวอย่างต่อไปนี้นาฬิกาที่เรียบง่ายมาก ฉันจะเขียนสิ่งนี้ใน Objective-C @interface Clock : NSObject @property (readonly) NSUInteger hours; @property (readonly) NSUInteger minutes; @property (readonly) NSUInteger seconds; - (void)incrementSeconds; @end @implementation Clock - (void)incrementSeconds { _seconds++; if (_seconds == 60) { _seconds = 0; _minutes++; if (_minutes == 60) { …

5
จะเข้าถึงทรัพย์สินประเภทนิรนามใน C # ได้อย่างไร?
ฉันมีสิ่งนี้: List<object> nodes = new List<object>(); nodes.Add( new { Checked = false, depth = 1, id = "div_" + d.Id }); ... และฉันสงสัยว่าฉันสามารถคว้าคุณสมบัติ "ตรวจสอบแล้ว" ของวัตถุที่ไม่ระบุตัวตนได้หรือไม่ ฉันไม่แน่ใจว่าจะเป็นไปได้ไหม พยายามทำสิ่งนี้: if (nodes.Any(n => n["Checked"] == false)) ... แต่มันไม่ได้ผล ขอบคุณ

5
เป็นไปได้ไหมที่จะตั้งค่าคุณสมบัติส่วนตัวผ่านการสะท้อน?
ฉันสามารถตั้งค่าคุณสมบัติส่วนตัวผ่านการสะท้อนแสงได้หรือไม่? public abstract class Entity { private int _id; private DateTime? _createdOn; public virtual T Id { get { return _id; } private set { ChangePropertyAndNotify(ref _id, value, x => Id); } } public virtual DateTime? CreatedOn { get { return _createdOn; } private set { ChangePropertyAndNotify(ref _createdOn, value, x …

8
ฉันจะเข้าถึงคุณสมบัติของวัตถุจาวาสคริปต์ได้อย่างไรหากฉันไม่รู้ชื่อ
สมมติว่าคุณมีวัตถุจาวาสคริปต์ดังนี้: var data = { foo: 'bar', baz: 'quux' }; คุณสามารถเข้าถึงคุณสมบัติโดยใช้ชื่อคุณสมบัติ: var foo = data.foo; var baz = data["baz"]; แต่เป็นไปได้หรือไม่ที่จะได้รับค่าเหล่านี้หากคุณไม่ทราบชื่อคุณสมบัติ? ลักษณะที่ไม่เรียงลำดับของคุณสมบัติเหล่านี้ทำให้ไม่สามารถแยกออกจากกันได้หรือไม่? ในกรณีของฉันฉันกำลังคิดถึงสถานการณ์ที่ฟังก์ชันต้องยอมรับชุดของคู่ชื่อ - ค่า แต่ชื่อของคุณสมบัติอาจเปลี่ยนไป ความคิดของฉันเกี่ยวกับวิธีการทำสิ่งนี้คือการส่งชื่อคุณสมบัติไปยังฟังก์ชันพร้อมกับข้อมูล แต่มันให้ความรู้สึกเหมือนแฮ็ค ฉันอยากจะทำสิ่งนี้ด้วยการวิปัสสนาถ้าเป็นไปได้

15
คุณสมบัติ Thread-safe List <T>
ฉันต้องการนำไปใช้List&lt;T&gt;เป็นคุณสมบัติที่สามารถใช้เธรดได้อย่างปลอดภัยโดยไม่ต้องสงสัย สิ่งนี้: private List&lt;T&gt; _list; private List&lt;T&gt; MyT { get { // return a copy of _list; } set { _list = value; } } ดูเหมือนว่าฉันยังต้องส่งคืนสำเนา (โคลน) ของคอลเลกชันดังนั้นหากมีที่ไหนสักแห่งที่เรากำลังทำซ้ำคอลเลกชันและในเวลาเดียวกันก็มีการตั้งค่าคอลเล็กชันจะไม่มีการเพิ่มข้อยกเว้น วิธีใช้คุณสมบัติการรวบรวมเธรดที่ปลอดภัย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.