我正在创建自定义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>
对比),如果是这样,在尝试解决之前将其注册到自己?