Esempio n. 1
0
 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);
 }