एक इंटरफेस एक नाम स्थान या एक वर्ग के एक सदस्य हो सकता है और निम्नलिखित सदस्यों के हस्ताक्षर हो सकते हैं:
Methods
Properties
Indexers
Events
गुण इंटरफेस पर घोषित किया जा सकता। घोषणा निम्न प्रपत्र लेती है: एक इंटरफ़ेस संपत्ति के एक्सेसर में कोई शरीर नहीं है।
इस प्रकार, एक्सेसर्स का उद्देश्य यह इंगित करना है कि क्या संपत्ति पढ़ना, लिखना, या केवल लिखना है या नहीं।
उदाहरण:
// Interface Properties
interface IEmployee
{
string Name
{
get;
set;
}
int Counter
{
get;
}
}
कार्यान्वयन:
public class Employee: IEmployee
{
public static int numberOfEmployees;
private int counter;
private string name;
// Read-write instance property:
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
// Read-only instance property:
public int Counter
{
get
{
return counter;
}
}
// Constructor:
public Employee()
{
counter = ++counter + numberOfEmployees;
}
}
MainClass:
public class MainClass
{
public static void Main()
{
Console.Write("Enter number of employees: ");
string s = Console.ReadLine();
Employee.numberOfEmployees = int.Parse(s);
Employee e1 = new Employee();
Console.Write("Enter the name of the new employee: ");
e1.Name = Console.ReadLine();
Console.WriteLine("The employee information:");
Console.WriteLine("Employee number: {0}", e1.Counter);
Console.WriteLine("Employee name: {0}", e1.Name);
}
}
@ गिशू - (+1) सही धागे को इंगित करने के लिए धन्यवाद। ------------------------------------------------ ------ @ संदीप - सरल शब्दों में, एक इंटरफ़ेस में केवल विधि घोषणाएं हो सकती हैं। गुण, घटनाएं या अनुक्रमणिकाकर्ता विधियों के रूप हैं। गुणों में गेटटर और सेटर विधियों के केवल वेरिएंट हैं। अधिक जानकारी के लिए कृपया "सी # के माध्यम से सीएलआर" या "आवश्यक .नेट वॉल्यूम 1" देखें। –