public void _01_BindBaseClass() { // 基底クラスを派生クラスにバインド Container.Bind <FooBase>().To <Foo>().AsTransient(); // バインドしたクラスは解決できる(中身はバインド先クラスのインスタンス) FooBase fooBase = Container.Resolve <FooBase>(); Assert.AreEqual("Foo", fooBase.name); // バインド先クラスは直接解決できない AssertThrows <ZenjectException>(() => Container.Resolve <Foo>()); // -> Unable to resolve '_4_BindClassAndInterfaceTest.Foo'. }
public void TestObjectValues() { _fixture.ClearAll(); _fixture.Ioc.RegisterSingleton <IMvxAutoValueConverters>(new MockAutoValueConverters()); var foo = new Foo(); Assert.Equal(foo, typeof(FooBase).MakeSafeValue(foo)); var fooBase = new FooBase(); Assert.Equal(fooBase, typeof(FooBase).MakeSafeValue(fooBase)); fooBase = null; Assert.Null(typeof(FooBase).MakeSafeValue(null)); }
public void TestObjectValues() { ClearAll(); MvxBindingSingletonCache.Initialize(); Mvx.RegisterSingleton <IMvxAutoValueConverters>(new MockAutoValueConverters()); var foo = new Foo(); Assert.AreSame(foo, typeof(FooBase).MakeSafeValue(foo)); var fooBase = new FooBase(); Assert.AreSame(fooBase, typeof(FooBase).MakeSafeValue(fooBase)); fooBase = null; Assert.IsNull(typeof(FooBase).MakeSafeValue(null)); }
public static int FooBar(FooBase fooBase) { int val = -1; Type type = fooBase.GetType(); if (type == typeof(Foo)) { Foo foo = (Foo)fooBase; val = foo.Bar; } else { // Do something } return(val); }
public void _04_AsTransientAndResolve() { // AsTransient()でそれぞれバインド Container.Bind <FooBase>().To <Foo>().AsTransient(); Container.Bind <IFoo>().To <Foo>().AsTransient(); FooBase fooBase = Container.Resolve <FooBase>(); IFoo ifoo = Container.Resolve <IFoo>(); // どちらもFooのインスタンス Assert.AreEqual("Foo", fooBase.name); Assert.AreEqual("Foo", ifoo.name); // インスタンスは異なる Assert.AreEqual(0, fooBase.id); Assert.AreEqual(1, ifoo.id); }
public void InheritanceTest() { object something = new FooB(); FooBase foo = GoInterface <FooBase> .From(something); Assert.That(foo.Foo() == "Foo"); Assert.That(foo.Bar() == "Bar"); Assert.That(foo.Baz(1) == "Baz"); Assert.That(((IBaz)foo).Baz(false) == "Baz"); Assert.That(foo.Baz() == "Baz"); something = new FooB(); IBaz baz = GoInterface <IBaz> .ForceFrom(something); Assert.That(((IBar)baz).Bar() == "Bar"); Assert.That(((IBar2)baz).Bar() == "Bar"); Assert.That(baz.Baz() == "Baz"); }
public static global::Grpc.Core.ServerServiceDefinition BindService(FooBase serviceImpl) { return global::Grpc.Core.ServerServiceDefinition.CreateBuilder() .AddMethod(Method_foo11, serviceImpl.foo11_impl) .AddMethod(Method_foo12, serviceImpl.foo12_impl0) .AddMethod(Method_foo12_impl, serviceImpl.foo12_impl_impl) .AddMethod(Method_foo13, serviceImpl.foo13_impl) .AddMethod(Method_foo14, serviceImpl.foo14_impl) .AddMethod(Method_foo15, serviceImpl.foo15_impl) .AddMethod(Method_foo21, serviceImpl.foo21) .AddMethod(Method_foo22, serviceImpl.foo22) .AddMethod(Method_foo23, serviceImpl.foo23) .AddMethod(Method_foo24, serviceImpl.foo24) .AddMethod(Method_foo31, serviceImpl.foo31) .AddMethod(Method_foo32, serviceImpl.foo32) .AddMethod(Method_foo33, serviceImpl.foo33) .AddMethod(Method_foo34, serviceImpl.foo34) .AddMethod(Method_foo41, serviceImpl.foo41) .AddMethod(Method_foo42, serviceImpl.foo42) .AddMethod(Method_foo43, serviceImpl.foo43) .AddMethod(Method_foo44, serviceImpl.foo44) .Build(); }
public void _05_AsCachedAndFromResolveAndResolve() { // AsCached()でバインド Container.Bind <Foo>().AsCached(); // FromResolve()によってFooへのバインドは既存のバインドから解決 Container.Bind <FooBase>().To <Foo>().FromResolve(); Container.Bind <IFoo>().To <Foo>().FromResolve(); Foo foo = Container.Resolve <Foo>(); FooBase fooBase = Container.Resolve <FooBase>(); IFoo ifoo = Container.Resolve <IFoo>(); // 全てFooのインスタンス Assert.AreEqual("Foo", foo.name); Assert.AreEqual("Foo", fooBase.name); Assert.AreEqual("Foo", ifoo.name); // AsCached() + FromResolve() によって全て同じインスタンス Assert.AreEqual(0, foo.id); Assert.AreEqual(0, fooBase.id); Assert.AreEqual(0, ifoo.id); }
public void TestObjectValues() { ClearAll(); MvxBindingSingletonCache.Initialize(); Mvx.RegisterSingleton<IMvxAutoValueConverters>(new MockAutoValueConverters()); var foo = new Foo(); Assert.AreSame(foo, typeof(FooBase).MakeSafeValue(foo)); var fooBase = new FooBase(); Assert.AreSame(fooBase, typeof(FooBase).MakeSafeValue(fooBase)); fooBase = null; Assert.IsNull(typeof(FooBase).MakeSafeValue(null)); }
private FooDto Map(FooBase foo) { return Mapper.Map<FooBase, FooDto>(foo); }
private FooBase SetRetVal(FooBase fooBase) { fooBase.RetVal = FooVal; return(fooBase); }
static void DoSomething(FooBase foo) { }
//Override FooMethod so that it can do whatever Foo needs it to do public override void FooMethod(FooBase ob) { Console.WriteLine("Hiiiii\t" + ob); }
public abstract void FooMethod(FooBase obj);
public static global::Grpc.Core.ServerServiceDefinition BindService(FooBase serviceImpl) { return(global::Grpc.Core.ServerServiceDefinition.CreateBuilder() .AddMethod(Method_foo, serviceImpl.foo) .Build()); }
private FooDto Map(FooBase foo) { return(Mapper.Map <FooBase, FooDto>(foo)); }
public static void ApplyFooDefaults(this FooBase unhandledFoo) { unhandledFoo.Name = "Unhandled Foo"; Console.WriteLine(unhandledFoo); }