ToolPart Kelas Dengan System.Reflection
Jika Anda masih bekerja dengan beberapa kelas basis SharePoint, Anda mungkin sudah terbiasa dengan ToolPart kelas. Kelas yang memungkinkan Anda ToolPart mengekspos opsional sekelompok kecil yang rapi potongan-potongan kustom Anda memutuskan tentang WebPart Anda dalam menu diperbesar secara native dalam WebPart ToolPane. Ini bagus ketika melakukan sesuatu seperti menampilkan hak cipta atau apapun WebPart Anda. Kode dasar untuk kelas ToolPart terlihat seperti ini:
- . WebPartPages ; menggunakan Microsoft. SharePoint. WebPartPages;
- ; using System;
- . Web . UI ; menggunakan Sistem. Web. UI;
- namespace buenz. Webparts
- (
-
BasicToolpart : ToolPart public class BasicToolpart: ToolPart
- (
- BasicToolpartMS publik ()
- (
- = "My Name" ; basis. Title = "My Name";
- )
- override public void ApplyChanges ()
- (
- )
- override public void CancelChanges ()
- (
- )
- HtmlTextWriter output ) protected override void RenderToolPart (HtmlTextWriter output)
- (
- "Adam Buenz" ) ; output. Write ( "Adam Buenz");
- )
- override public void SyncChanges ()
- (
- )
- )
- )
Tapi, ketika Anda menampilkan hal-hal seperti versi WebParts dll sering sedikit eaiser untuk menggunakan. NET Refleksi sebagai lawan harus melalui sekumpulan nilai-nilai string dalam file kelas WebPart untuk menampilkan versi WebPart. Sebaliknya Anda bisa menariknya dari tugas yang dibuat dalam kumpulan info System.Reflection file dengan menggunakan namespace. Untuk mengambil keuntungan dari hal ini, hanya ada beberapa hal yang harus Anda lakukan. Yang pertama adalah membuat referensi untuk menginisialisasi System.Reflection lalu tiga senar untuk memegang data yang ditarik dari pelaksana perakitan, dalam hal ini versi WebPart, nama Perusahaan yang membangun webpart, dan tentu saja, WebPart nama produk. Yang lain adalah untuk mendapatkan informasi dari file dengan menggunakan WebPart perakitan GetExecutingAssembly () untuk mendapatkan lokasi ke WebPart biner, dan kemudian mendapatkan informasi yang relevan.
- . WebPartPages ; menggunakan Microsoft. SharePoint. WebPartPages;
- ; using System;
- . Web . UI ; menggunakan Sistem. Web. UI;
- . Reflection ; menggunakan Sistem. Refleksi;
- namespace buenz. WebParts
- (
- ReflectingToolPart : ToolPart public class ReflectingToolPart: ToolPart
- (
- labelVersion; private string labelVersion;
- labelCompanyName; private string labelCompanyName;
- labelProductName; private string labelProductName;
- ReflectingToolPart publik ()
- (
- = AssemblyProduct; ini. labelProductName = AssemblyProduct;
- = AssemblyCompany; ini. labelCompanyName = AssemblyCompany;
- = String . Format ( "Version {0}" , AssemblyVersion ) ; ini. labelVersion = String. Format ( "Version (0)", AssemblyVersion);
- = "My WebPart" ; basis. Title = "My WebPart";
- )
- override public void ApplyChanges ()
- (
- )
- AssemblyVersion AssemblyVersion string publik
- (
- mendapatkan
- (
- ( ) . GetName ( ) . Version . ToString ( ) ; kembali Majelis. GetExecutingAssembly (). GetName (). Version. ToString ();
- )
- )
- AssemblyProduct AssemblyProduct string publik
-
(
- mendapatkan
- (
- / / Dapatkan semua atribut Produk perakitan ini
- / / Jika tidak ada atribut Produk, mengembalikan string kosong
- attributes. Length == 0 ) if (attributes. Panjang == 0)
- ; return "";
- / / Jika ada atribut Produk, mengembalikan nilai
- AssemblyProductAttribute ) attributes [ 0 ] ) . Product ; return ((AssemblyProductAttribute) atribut [0]). Produk;
- )
- )
- AssemblyCompany AssemblyCompany string publik
- (
- mendapatkan
- (
- / / Dapatkan semua atribut Perusahaan perakitan ini
- / / Jika tidak ada atribut Perusahaan, mengembalikan string kosong
- attributes. Length == 0 ) if (attributes. Panjang == 0)
- ; return "";
- / / Jika ada atribut Perusahaan, mengembalikan nilai
- AssemblyCompanyAttribute ) attributes [ 0 ] ) . Company ; return ((AssemblyCompanyAttribute) atribut [0]). Perusahaan;
- )
- )
- override public void CancelChanges ()
- (
- )
- HtmlTextWriter output ) protected override void RenderToolPart (HtmlTextWriter output)
- (
- " output. Write ( "
- ; <center> ");
- " output. Write ( "
- ; ");
- labelProductName ) ; output. Tulis (labelProductName);
- "" ) ; output. Write ( "");
- labelVersion ) ; output. Tulis (labelVersion);
- "" ) ; output. Write ( "");
- labelCompanyName ) ; output. Tulis (labelCompanyName);
- SyncChanges ( ) ) Public override void SyncChanges ()
- (
- )
- )
- )
Pastikan saja bahwa atribut yang Anda menarik dari WebPart tidak mengandung nilai null.
No Comments »
No comments yet.
RSS feed untuk komentar di posting ini. Trackback URL






























