โดย "สร้าง" ฉันหมายถึงการสร้างรหัสอัตโนมัติที่จำเป็นสำหรับตัวแปรที่เลือก (ชุด)
แต่คำอธิบายหรือความคิดเห็นที่ชัดเจนเกี่ยวกับแนวปฏิบัติที่ดีนั้นยินดีต้อนรับ
โดย "สร้าง" ฉันหมายถึงการสร้างรหัสอัตโนมัติที่จำเป็นสำหรับตัวแปรที่เลือก (ชุด)
แต่คำอธิบายหรือความคิดเห็นที่ชัดเจนเกี่ยวกับแนวปฏิบัติที่ดีนั้นยินดีต้อนรับ
คำตอบ:
แทนที่จะใช้Ctrl+ K, Xคุณยังสามารถเพียงแค่พิมพ์prop
แล้วกดTabสองครั้ง
Visual Studio ยังมีคุณสมบัติที่จะสร้างคุณสมบัติจากตัวแปรส่วนตัว
หากคุณคลิกขวาบนตัวแปรในเมนูบริบทที่ปรากฏขึ้นให้คลิกที่ "Refactor" รายการและจากนั้นเลือกแค็ปซูลฟิลด์ ... สิ่งนี้จะสร้างคุณสมบัติ getter / setter สำหรับตัวแปร
ฉันไม่ได้เป็นแฟนตัวยงของเทคนิคนี้เพราะมันค่อนข้างงุ่มง่ามที่จะใช้ถ้าคุณต้องสร้าง getters / setters จำนวนมากและมันทำให้คุณสมบัติตรงด้านล่างของสนามส่วนตัวซึ่งทำให้ฉันเป็นบ้าเพราะฉันมักจะ มีเขตข้อมูลส่วนตัวของฉันทั้งหมดจัดกลุ่มเข้าด้วยกันและคุณลักษณะ Visual Studio นี้แบ่งการจัดรูปแบบคลาสของฉัน
ฉันใช้ Visual Studio 2013 Professional
นอกจากนี้คุณยังวางเคอร์เซอร์สำหรับการเลือกสถานที่ให้บริการ ใช้เมนูแก้ไข → Refactor → แค็ปซูลฟิลด์ ...
ข้อมูลอื่น ๆ:
ตั้งแต่ C # 3.0 (19 พฤศจิกายน 2007) เราสามารถใช้คุณสมบัติที่ดำเนินการอัตโนมัติ (นี่เป็นเพียงวากยสัมพันธ์น้ำตาล )
และ
private int productID;
public int ProductID
{
get { return productID; }
set { productID = value; }
}
กลายเป็น
public int ProductID { get; set; }
โดยการสร้างคุณหมายถึงการสร้างอัตโนมัติ? ถ้านั่นไม่ใช่สิ่งที่คุณหมายถึง:
Visual Studio 2008 มีการนำไปใช้ที่ง่ายที่สุดสำหรับสิ่งนี้:
public PropertyType PropertyName { get; set; }
ในพื้นหลังสิ่งนี้จะสร้างตัวแปรอินสแตนซ์โดยนัยซึ่งคุณสมบัติของคุณจัดเก็บและดึงข้อมูล
อย่างไรก็ตามหากคุณต้องการใส่ตรรกะเพิ่มเติมในคุณสมบัติของคุณคุณจะต้องมีตัวแปรอินสแตนซ์สำหรับมัน:
private PropertyType _property;
public PropertyType PropertyName
{
get
{
//logic here
return _property;
}
set
{
//logic here
_property = value;
}
}
Visual Studio รุ่นก่อนหน้านี้มักใช้วิธีการนี้ด้วยเช่นกัน
property_
แทนที่จะเป็นมาก่อน_property
หรือไม่?
คุณยังสามารถใช้ "propfull" และกดTABสองครั้ง
ตัวแปรและคุณสมบัติพร้อมรับและตั้งค่าจะถูกสร้างขึ้น
หากคุณใช้ Visual Studio 2005 ขึ้นไปคุณสามารถสร้าง setter / getter อย่างรวดเร็วโดยใช้คำสั่ง insert snippet
คลิกขวาที่รหัสของคุณคลิกที่แทรกตัวอย่าง ( Ctrl+ K, X) แล้วเลือก "prop" จากรายการ
หากคุณใช้ ReSharper ให้ไปที่เมนู ReSharper → Code → สร้าง ...
(หรือกดAlt+ Insภายในชั้นเรียนโดยรอบ) และคุณจะได้รับตัวเลือกทั้งหมดสำหรับการสร้างผู้ได้รับและ / หรือผู้ตั้งค่าที่คุณสามารถนึกถึง :-)
ใช้propfull
คำสำคัญ
มันจะสร้างคุณสมบัติและตัวแปร
พิมพ์คีย์เวิร์ดpropfull
ในเอดิเตอร์ตามด้วยสองTABวิ มันจะสร้างรหัสเช่น:
private data_type var_name;
public data_type var_name1{ get;set;}
วิดีโอสาธิตการใช้ตัวอย่าง 'propfull' (เหนือสิ่งอื่นใด) ในเวลา 4 นาที 11 วินาที
ฉันสร้างข้อมูลโค้ดของตัวเองว่าเพียง{get; set;}
เพิ่ม ฉันทำมันเพียงเพราะฉันพบว่าprop
→ Tabเป็นคนที่ไม่กล้า
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>get set</Title>
<Shortcut>get</Shortcut>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[{get; set;}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
ด้วยวิธีนี้คุณพิมพ์ PropType และ PropName ของคุณด้วยตนเองจากนั้นพิมพ์get
→ Tabแล้วมันจะเพิ่มการตั้งค่า มันไม่มีอะไรน่าอัศจรรย์ แต่เนื่องจากฉันมักจะพิมพ์ตัวแก้ไขการเข้าถึงของฉันก่อนอย่างไรก็ตามฉันอาจทำชื่อและประเภทให้จบ
ใน Visual Studio Community Edition 2015 คุณสามารถเลือกฟิลด์ทั้งหมดที่คุณต้องการแล้วกดCtrl+.เพื่อสร้างคุณสมบัติโดยอัตโนมัติ
คุณต้องเลือกว่าคุณต้องการใช้คุณสมบัติแทนฟิลด์หรือไม่
นอกเหนือจากตัวอย่างข้อมูล 'prop' และคุณสมบัติอัตโนมัติแล้วยังมีตัวเลือกการรีแฟคเตอร์เพื่อให้คุณเลือกฟิลด์ที่มีอยู่และเปิดเผยผ่านคุณสมบัติ ( คลิกขวาที่ฟิลด์→รีแฟคเตอร์ → ฟิลด์ Encapsulate ... )
นอกจากนี้หากคุณไม่ชอบการใช้งาน 'เสา' คุณสามารถสร้างตัวอย่างของคุณเอง นอกจากนี้เครื่องมือการเปลี่ยนโครงสร้างของบุคคลที่สามเช่นReSharperจะให้คุณลักษณะที่มากยิ่งขึ้นและทำให้ง่ายขึ้นในการสร้างตัวอย่างขั้นสูงขึ้น ฉันขอแนะนำ ReSharper ถ้าคุณสามารถจ่ายได้
http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx
วิดีโอสาธิตการใช้ตัวอย่าง 'prop' (เหนือสิ่งอื่นใด) ในเวลา 3 นาที 23 วินาที
ใน visual studio 2019 เลือกคุณสมบัติของคุณดังนี้:
จากนั้นกดCtrl+r
จากนั้นกดCtrl+e
กล่องโต้ตอบจะปรากฏขึ้นเพื่อแสดงตัวอย่างของการเปลี่ยนแปลงที่จะเกิดขึ้นกับโค้ดของคุณ หากทุกอย่างดูดี (ซึ่งมันจะส่วนใหญ่) OK
กด
ฉันไม่ได้ติดตั้ง Visual Studio บนเครื่องของฉันอีกต่อไป (และฉันใช้ Linux) แต่ฉันจำได้ว่ามีตัวช่วยสร้างซ่อนอยู่ที่ไหนสักแห่งในเมนูที่ให้สิทธิ์การเข้าถึงตัวสร้างคลาส
ด้วยตัวช่วยสร้างนี้คุณสามารถกำหนดรายละเอียดคลาสทั้งหมดของคุณรวมถึงวิธีการและคุณสมบัติ ถ้าฉันจำได้ดีมีตัวเลือกที่คุณสามารถขอให้ Visual Studio สร้างตัวตั้งค่าและตัวรับสัญญาณอัตโนมัติให้คุณได้
ฉันรู้ว่ามันค่อนข้างคลุมเครือ แต่ลองดูและคุณอาจพบว่า
ขั้นแรกรับส่วนขยายเพียงแค่กด ( Ctrl+ Shift+ X) และติดตั้งตัวตั้งค่า getter ....
หลังจากนี้เพียงเลือกตัวแปรของคุณและคลิกขวา ไปที่จานสีคำสั่ง ...
และพิมพ์ getter ... มันจะแนะนำให้สร้าง get และ set method คลิกที่นี่ ...
คุณเพียงแค่กดAlt+ Insใน Android Studio
หลังจากประกาศตัวแปรคุณจะได้รับ getters และ setters ในโค้ดที่สร้างขึ้น