- Operator Overloading: the operator must be defined in the same type on which it performs the operation.
private void btnStart_Click(object sender, System.EventArgs e) { MyClass myClass1 = new MyClass(); MyClass myClass2 = new MyClass(); myClass1.MyStringField = "Hello "; myClass2.MyStringField = "World!"; // Displays: Hello World! MessageBox.Show((myClass1 + myClass2).MyStringField); // Displays: Hello 1 MessageBox.Show((myClass1 + 1).MyStringField); } public class MyClass { public String MyStringField = ""; public static MyClass operator + (MyClass myClass1, MyClass myClass2) { MyClass myClass = new MyClass(); myClass.MyStringField = myClass1.MyStringField + myClass2.MyStringField; return myClass; } public static MyClass operator + (MyClass myClass, int Number) { myClass.MyStringField += Number.ToString(); return myClass; } }
- Making sure only an interface type can access an interface's members:
private void btnStart_Click(object sender, System.EventArgs e) { // MyMethod() not accessible from mc: MyClass mc = new MyClass(); // MyMethod() is accessible from imc: IMyClass imc = new MyClass(); imc.MyMethod(); } private interface IMyClass { void MyMethod(); } private class MyClass : IMyClass { // This method only accessible via a IMyClass type: void IMyClass.MyMethod() {} }
Mike's a long-time, C# developer, with experience in database development, software architecture & design, .Net, ASP.NET, HTML, JavaScript, VB, CSS, Flash, SQL Server, Oracle, and more.
Monday, June 13, 2005
C# Notes
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment