ToolPart Class Avec System.Reflection
Si vous travaillez encore avec certains des classes de base de SharePoint, vous êtes probablement familier avec la classe ToolPart. La classe ToolPart permet de vous exposer éventuellement un tas de pièces en petites sections bien vous décidez à propos de votre WebPart dans un menu extensible en natif au sein de l'ToolPane WebPart. Cela est agréable quand faire quelque chose comme l'affichage du droit d'auteur ou autre de votre WebPart. Le code de base pour une classe ToolPart ressemble à ceci:
- . WebPartPages ; en utilisant Microsoft. SharePoint. WebPartPages;
- ; using System;
- . Web . UI ; using System. Web. UI;
- namespace Buenz. Webparts
- (
- BasicToolpart : ToolPart public class BasicToolpart: ToolPart
- (
- public BasicToolpartMS ()
- (
- = "My Name" ; de base. Title = "My Name";
- )
- public void override applyChanges ()
- (
- )
- public void CancelChanges override ()
- (
- )
- HtmlTextWriter output ) protected override void RenderToolPart (sortie HtmlTextWriter)
- (
- "Adam Buenz" ) ; sortie. Write ( "Adam Buenz");
- )
- public void SyncChanges override ()
- (
- )
- )
- )
Mais, lorsque vous affichez une chose pareille version de WebParts, etc, c'est souvent une eaiser peu à utiliser. NET réflexion plutôt que d'avoir à passer par un bouquet de valeurs de chaîne dans la classe WebPart fichier pour afficher la version de la WebPart. Au lieu de cela il vous suffit de la tirer de l'cessions effectuées dans le fichier à l'aide d'infos Assemblée l'espace de noms System.Reflection. Choses à prendre avantage de cela, il ya juste un couple que vous avez à faire. La première est de faire une référence à System.Reflection et puis d'initialiser trois cordes pour contenir les données qui est tiré de l'assemblée d'exécution, en l'occurrence la version WebPart, le nom de l'entreprise qui a construit les webpart et, bien sûr, la WebPart Nom du produit. L'autre consiste à obtenir l'information depuis le fichier d'assembly WebPart utilisant GetExecutingAssembly () pour obtenir l'emplacement du binaire WebPart, puis obtenir l'information pertinente.
- . WebPartPages ; en utilisant Microsoft. SharePoint. WebPartPages;
- ; using System;
- . Web . UI ; using System. Web. UI;
- . Reflection ; using System. Reflection;
- namespace Buenz. WebParts
- (
- ReflectingToolPart : ToolPart public class ReflectingToolPart: ToolPart
-
(
- labelVersion; labelVersion chaîne privée;
- labelCompanyName; labelCompanyName chaîne privée;
- labelProductName; labelProductName chaîne privée;
- public ReflectingToolPart ()
- (
- = AssemblyProduct; ce labelProductName. AssemblyProduct =;
- = AssemblyCompany; cela. labelCompanyName = AssemblyCompany;
- = String . Format ( "Version {0}" , AssemblyVersion ) ; cela. labelVersion = String. Format ( "Version (0)", AssemblyVersion);
- = "My WebPart" ; de base. Title = "Mon WebPart";
- )
- public void override applyChanges ()
- (
- )
- AssemblyVersion public string AssemblyVersion
- (
- obtenir
- (
- ( ) . GetName ( ) . Version . ToString ( ) ; retour Assemblée. GetExecutingAssembly (). getName (). Version. ToString ();
- )
- )
- AssemblyProduct public string AssemblyProduct
-
(
- obtenir
- (
- / / Get all produit attributs sur cette assemblée
- / / S'il n'y en a pas les attributs du produit, retourner une chaîne vide
- attributes. Length == 0 ) if (attributes. length == 0)
- ; return "";
- / / Si on est un attribut du produit, le retour de sa valeur
- AssemblyProductAttribute ) attributes [ 0 ] ) . Product ; (return (AssemblyProductAttribute) attributes [0]). Produit;
- )
- )
- AssemblyCompany public string AssemblyCompany
- (
- obtenir
- (
- / / Get all société attribue à cette Assemblée
- / / Si il n'ya pas de société attribue, retourner une chaîne vide
- attributes. Length == 0 ) if (attributes. length == 0)
- ; return "";
- / / Si on est un attribut de l'entreprise, le retour de sa valeur
- AssemblyCompanyAttribute ) attributes [ 0 ] ) . Company ; (return (AssemblyCompanyAttribute) attributes [0]). Company;
- )
- )
- public void CancelChanges override ()
- (
- )
- HtmlTextWriter output ) protected override void RenderToolPart (sortie HtmlTextWriter)
- (
- " sortie. Write ( "
- ; <center> ");
- " sortie. Write ( "
- ; ");
- labelProductName ) ; sortie. Write (labelProductName);
- "" ) ; sortie. Write ( "");
- labelVersion ) ; sortie. Write (labelVersion);
- "" ) ; sortie. Write ( "");
- labelCompanyName ) ; sortie. Write (labelCompanyName);
- SyncChanges ( ) ) Public void SyncChanges override ()
- (
- )
- )
- )
Assurez-vous que les attributs que vous tirez de la WebPart ne contiennent pas les valeurs NULL.
Pas de commentaire »
Pas encore de commentaires.
Flux RSS pour les commentaires sur ce post. TrackBack URL






























