जब एक बार हम किसी Component को Current Project में Add कर लेते हैं, उसके बाद हम अपने Current Project में उस Component की किसी भी public Class के Instance Create कर सकते हैं। लेकिन अपने Component को Current Project में Use करने से पहले हमें उस Component को भी using Statement के माध्यम से Current Project में Import करना होता है अथवा हमें Fully Qualified Name Use करना पडता है। जैसे:
[code] File Name: Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="UseComponents.Default" %> <%@ Import Namespace="Components" %> <script runat="server"> protected void Page_Load(Object sender, EventArgs e) { ComponentClass testComponent = new ComponentClass(); lblResult.Text = testComponent.GetInfo("Hello") + "<br><br>"; } </script> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblResult" runat="server" Text="Label"></asp:Label> </div> </form> </body> </html> [/code]
इस Example Page में सबसे पहले हमने Components Namespace को @Import Directive द्वारा Import किया है, ताकि इस Namespace की विभिन्न Classes को Current Page में Use किया जा सके।
फिर Page_Load() Method में हमने इस Components Namespace में Exist ComponentClass Class का testComponent नाम का Object Create किया है और क्योंकि इस Class में GetInfo() नाम का केवल एक ही Method Defined है, इसलिए अगले Statement में इसी Method को निम्नानुसार Call किया है:
[code] lblResult.Text = testComponent.GetInfo("Hello") + "<br><br>"; [/code]
परिणामस्वरूप हमें प्राप्त होने वाला Resultant Output निम्नानुसार होता है:
इस तरह उपरोक्तानुसार तरीके से विभिन्न Steps को Follow करते हुए हम हमारे किसी Component को किसी अन्य Project में Reuse कर सकते हैं। हालांकि यदि हम हमारे Component की Class में Member Method Define करने के स्थान पर उसे निम्नानुसार Modify करते हुए एक Static Method के रूप में Specify करते हुए Compile कर दें-
[code] File Name: Component.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Components { public class ComponentClass { public static string GetInfo(string param) { return "You invoked ComponentClass.GetInfo() with '" + param + "'"; } } } [/code]
तो अब अपने Web Project में हम इसी Method को निम्नानुसार तरीके से भी Use कर सकते हैं:
[code] File Name: Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="UseComponents.Default" %> <%@ Import Namespace="Components" %> <script runat="server"> protected void Page_Load(Object sender, EventArgs e) { lblResult.Text = ComponentClass.GetInfo("Hello") + "<br><br>"; } </script> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblResult" runat="server" Text="Label"></asp:Label> </div> </form> </body> </html> [/code]
हमें कब अपने Method को Member Method की तरह Define करना चाहिए और कब Static Method की तरह, ये बात पूरी तरह से हमारे Application Development Approach पर निर्भर करती है। इसलिए इस विषय में हम यहां कोई Discussion नहीं करेंगे क्योंकि ये Concept पूरी तरह से Object Oriented Programming System पर आधारित Concept है, जो कि एक प्रकार का Application Designing Pattern है।
Creating Component in ASP.NET
Classes and Namespaces
Adding Component Reference
Using Component
Properties and State
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance ASP.NET WebForms in Hindi | Page:707 | Format: PDF