static void TemplateMethod()
        {
            Abstract impl1 = new Impl1();
            Impl2    impl2 = new Impl2();

            impl1.StartOperations();
            Console.WriteLine();
            impl2.StartOperations();

            Console.WriteLine();
            Console.WriteLine("Возврат в меню завезем в следующей обнове :)");
            Console.ReadKey();
        }
Exemplo n.º 2
0
        public void TestCreateInjectedInstance()
        {
            var container = new DiContainer();
            var impl1     = new Impl1();
            var impl2     = new Impl2();

            container.Bind <IInterface>().ToInstance(impl1);
            container.Bind <IInterface2>().ToInstance(impl2);

            var injectable = container.CreateInjectedInstance <InjectableType>();

            Assert.AreEqual(impl1, injectable.Field1, "Field1 should contain a reference to Impl1 due to field injection");
            Assert.AreEqual(impl2, injectable.Param1, "Field1 should contain a reference to Impl1 due to constructor injection");
        }
Exemplo n.º 3
0
        public void TestBindAcyclicGraph()
        {
            var container = new DiContainer();

            var frodoInstance = new Impl2("Frodo");
            var samInstance   = new Impl2("Sam");

            var impl1 = new Impl1();

            container.Bind <IInterface1>().ToInstance(impl1);
            container.Bind <Impl1>().ToInstance(impl1);
            container.Bind <IInterface2>().WithId("Frodo").ToInstance(frodoInstance);
            container.Bind <IInterface2>().WithId("Sam").ToInstance(samInstance);
            container.TryResolveAll();

            var fetchedImpl1 = container.Get <Impl1>();

            Assert.AreEqual(frodoInstance, fetchedImpl1.Impl2Frodo);
            Assert.AreEqual(samInstance, fetchedImpl1.Impl2Sam);
        }
Exemplo n.º 4
0
 public Task AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
 {
     return(Impl2.AuthenticateAsServerAsync(new MNS.MonoSslServerAuthenticationOptions(sslServerAuthenticationOptions), cancellationToken));
 }
Exemplo n.º 5
0
 public Task AuthenticateAsClientAsync(SslClientAuthenticationOptions sslClientAuthenticationOptions, CancellationToken cancellationToken)
 {
     SetAndVerifyValidationCallback(sslClientAuthenticationOptions.RemoteCertificateValidationCallback);
     SetAndVerifySelectionCallback(sslClientAuthenticationOptions.LocalCertificateSelectionCallback);
     return(Impl2.AuthenticateAsClientAsync(new MNS.MonoSslClientAuthenticationOptions(sslClientAuthenticationOptions), cancellationToken));
 }