与运行时框架无关的DI注册

时间:2016-08-10 17:47:46

标签: c# dependency-injection

我正在创建自定义Model Binder DI(尽管此问题可以应用于其他情况),以便View Model解析Controller而无法View Model知道CreateModel所依赖的内容。

这是 protected override object CreateModel(ModelBindingContext bindingContext) { var serviceProvider = bindingContext.HttpContext.RequestServices; return serviceProvider.GetRequiredService(bindingContext.ModelType); } 方法:

ViewModels

问题是,这需要我注册我的services.AddTransient<HomeViewModel, HomeViewModel>();

CreateModel

好吧,我想避免注册。我可以使用bindingContext.ModelType方法确定class是否已注册1)和2)interface(与type或其他 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.admin.test.MainActivity"> <TextView android:id="@+id/t" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> <Button android:id="@+id/butt" android:layout_below="@+id/t" android:text="assdasd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" /> </RelativeLayout> 对比),如果是这样,在尝试解决之前将其注册到自己?

0 个答案:

没有答案