static void Main(string[] args) { Program program = new Program(); //实例化Program类对象 ImyInterface imyinterface = program; //使用派生类对象实例化接口ImyInterface imyinterface.Width = 5; //为派生类中的Width属性赋值 imyinterface.Height = 3; //为派生类中的Height属性赋值 Console.WriteLine("矩形的面积为:" + imyinterface.Area()); }
static void Main(string[] args) { Program program = new Program(); //实例化Program类对象 ImyInterface imyinterface = program; //使用派生类对象实例化接口ImyInterface imyinterface.ID = "TM"; //为派生类中的ID属性赋值 imyinterface.Name = "C# 2.0从入门到应用开发"; //为派生类中的Name属性赋值 imyinterface.ShowInfo(); //调用派生类中方法显示定义的属性值 }
void Start() { myClass myInstance = new myClass(); ImyInterface interfaceInstance = myInstance; //隐式实现的方法,既可以通过实例或接口变量调用 myInstance.myMethod1(); interfaceInstance.myMethod1(); //显式实现的方法,只能通过接口变量调用,不能通过实例变量调用 //myInstance.myMethod2(); interfaceInstance.myMethod2(); }
private void button1_Click(object sender, EventArgs e) { Assembly asm = Assembly.LoadFile(Application.StartupPath + "\\MyDLL.dll"); foreach (Type t in asm.GetTypes()) { if (t.GetInterface("ImyInterface") != null) { instance = asm.CreateInstance(t.FullName) as ImyInterface; } } }
public static void MyMethod(object myObject) { ImyInterface iMyInterface = (ImyInterface)myObject; iMyInterface.myMethod(); }
public static void testInterfaceParameter(ImyInterface inputInstance) { inputInstance.printDoubleValue(3.14f); }