public void Write(string message) { Console.WriteLine($"Name: {Name} Age: {Age}"); Console.WriteLine($"Cost: {Cost}"); Console.WriteLine($"建構式注入 IAnotherInterface 具體實作類別為 {_AnotherClass.GetType().Name}"); Console.WriteLine($"方法注入 IAnotherInterface 具體實作類別為 {_MethodInjection.GetType().Name}"); Console.WriteLine($"訊息: {message} 已經寫入到螢幕上了"); }
public void MethodParamNamesAreReplicated() { // Try with interface proxy (with target) IMyInterface i = generator.CreateInterfaceProxyWithTarget(typeof(IMyInterface), new MyClass(), new StandardInterceptor()) as IMyInterface; ParameterInfo[] methodParams = GetMyTestMethodParams(i.GetType()); Assert.AreEqual("myParam", methodParams[0].Name); }
// Injection run in this static void Main(string[] args) { var builder = new ContainerBuilder(); builder.RegisterType <DependencyClass>().AsSelf(); builder.RegisterType <MyInterfaceFactory>().AsSelf(); var assembly = Assembly.GetExecutingAssembly(); builder .RegisterAssemblyTypes(assembly) .AssignableTo <IMyInterface>() .AsImplementedInterfaces(); var container = builder.Build(); var factory = container.Resolve <MyInterfaceFactory>(); IMyInterface myInterface = factory.Generate("a"); Console.WriteLine(myInterface.GetType()); Console.ReadKey(); }
public string GetTypeName2(IMyInterface obj) { return(obj.GetType().Name); }