Auto-Diimplementasikan Properties dan Mengembangkan WebParts
Auto-Diimplementasikan (atau hanya otomatis) properti adalah salah satu fitur baru pada C # 3.0 yang memungkinkan deklarasi properti menjadi tambahan ringkas, dengan demikian mengurangi kode wajib keringanan pemeliharaan dan meningkatkan keterbacaan. Auto-sifat membuat kode SharePoint, yang cenderung menjadi properti berat untuk personalisasi fitur jauh lebih mudah untuk menulis, (yakin, Anda dapat menggunakan "prop" potongan kode di VS.NET, namun masih akan berlangganan ke struktur properti lama) membaca , dan memelihara.
Pertama, mari kita SharePoint dasar kelas, OrthodoxWebPartClass di bawah ini, yang menggunakan deklarasi properti konvensional dengan sedikit atribut relevan. Kelas tidak berbuat banyak di luar properti render teks ke output stream.
-
OrthodoxWebPartClass : WebPart public class OrthodoxWebPartClass: WebPart
- (
- _text; private string _text;
- PersonalizationScope. Shared ) , WebBrowsable ( true ) , WebDisplayName ( "Text ToDisplay" ) , WebDescription ( "The Text To Display" ) ] [Personalizable (PersonalizationScope. Shared), WebBrowsable (benar), WebDisplayName ( "Teks ToDisplay"), WebDescription ( "The Text To Display")]
- Text string publik Teks
- (
- _text; } get (return _text;)
- set (_text = value;)
- )
- HtmlTextWriter writer ) protected override void RenderContents (HtmlTextWriter penulis)
- (
- _text ) ; penulis. Tulis (_text);
- ( writer ) ; dasar. RenderContents (penulis);
- )
- )
Tidak terlalu menarik. Memeriksa di atas, properti mengambil deklarasi adat struktur:
- _property; private string _property;
- Property string publik Properti
- (
- _property; } get (return _property;)
- set (_property = value;)
- )
Luar properti atribut (untuk SharePoint antarmuka instruksi) ini adalah 5 baris untuk deklarasi, jumlah yang cukup besar untuk append ke file kelas yang sewenang-wenang.
Properti otomatis bukan ditulis dalam bentuk:
- Property { get; set; } string publik Properti (mendapatkan; set;)
Mengambil membangun ini ke file kelas contoh kita, kode WebPart kami akan mengambil bentuk:
- AutoWebPartClass : WebPart public class AutoWebPartClass: WebPart
- (
- PersonalizationScope. Shared ) , WebBrowsable ( true ) , WebDisplayName ( "Text To Display" ) , WebDescription ( "The Text To Display" ) ] [Personalizable (PersonalizationScope. Shared), WebBrowsable (benar), WebDisplayName ( "Text To Display"), WebDescription ( "The Text To Display")]
- Text { get; set; } public string Text (mendapatkan; set;)
- HtmlTextWriter writer ) protected override void RenderContents (HtmlTextWriter penulis)
- (
- Text ) ; penulis. Tulis (Teks);
- ( writer ) ; dasar. RenderContents (penulis);
- )
- )
Banyak penghias, kode bersih!
Walaupun ada setter kosong dan rajin dan giat, di balik layar yang get_PropertyName dan metode set_PropertyName masih dipanggil. Compiler akan menghasilkan medan pribadi digunakan sebagai toko dukungan untuk properti (yang adalah mengapa Anda tidak dapat menggunakan atribut lapangan, tetapi dapat menggunakan atribut properti).
Apa yang paling penting dari penggunaan auto-properti adalah kepatuhan terhadap suatu konsep OOP pernah penting: enkapsulasi! Ada beberapa hal yang perlu diperhatikan namun, yaitu nilai default pengaturan dan menciptakan properti hanya-baca.
Menetapkan Nilai Default An Auto-Properti
Mengingat sifat WebPart cenderung untuk memegang nilai-nilai konfigurasi penting, harus ada kompensasi untuk penugasan nilai default. Ada dua cara untuk tugas:
Set Nilai Default Via Tugas Dalam Pembuat
Set Nilai Default Menggunakan DefaultValue And The Property Type
Di bawah ini, saya menunjukkan penugasan dari properti dalam WebPart constructor:
- IntializationWebPartClass : WebPart public class IntializationWebPartClass: WebPart
- (
- IntializationWebPartClass publik ()
- (
- Text = "Teks";
- )
- PersonalizationScope. Shared ) , WebBrowsable ( true ) , WebDisplayName ( "Text To Display" ) , WebDescription ( "The Text To Display" ) ] [Personalizable (PersonalizationScope. Shared), WebBrowsable (benar), WebDisplayName ( "Text To Display"), WebDescription ( "The Text To Display")]
- Text { get; set; } public string Text (mendapatkan; set;)
- HtmlTextWriter writer ) protected override void RenderContents (HtmlTextWriter penulis)
- (
- Text ) ; penulis. Tulis (Teks);
- ( writer ) ; dasar. RenderContents (penulis);
- )
- )
Membuat Read-only Otomatis Properti
Menciptakan sebuah properti yang ditetapkan dalam kelas dan akan berubah bila digunakan cukup mudah (Namun hanya tulis-properti ini jelas tidak mungkin). Pada pandangan pertama itu mungkin diasumsikan bahwa hanya dengan mengeluarkan serangkaian properti bahwa properti harus read-only, namun hal ini hanya akan membuat bersandar pada nilai default. Dalam rangka untuk menciptakan read-properti, pengubah akses swasta hanya perlu dihias pada set properti.
- Text { get; private set; } public string Text (mendapatkan; private set;)
Itu semua saya sekarang otomatis untuk properti, karena mereka setelah semua, hanya properti. Namun saya berharap hal ini harus membuat Anda akan otomatis menggunakan properti dalam kode SharePoint Anda! ![]()
2 Komentar »
RSS feed untuk komentar di posting ini. Trackback URL































[...] Auto-Diimplementasikan Properties dan Mengembangkan WebParts [...]
Pingback oleh Link (9/28/2008) «Steve Pietrek - Segalanya SharePoint - 28 September 2008 @ 5:05
[...] Http://www.sharepointsecurity.com/blog/sharepoint/auto-implemented-properties-and-developing-webparts/ [...]
Pingback oleh Webpart SharePoint Properties «PANVEGAs Blog - 30 Oktober 2008 @ 5:12