I m试图将WPF的起点从C#改为VB.net,除一个地区外,Im实际上做得很好。 使用统一应用区进行依赖性注射。
我有以下C#代码组:
Type viewModelType = viewModelAssembly.GetType(action.ViewModelTypeName);
var notificationPolicy = unity.AddNewExtension<Interception>()
.RegisterType(typeof(BaseViewModel), viewModelType, action.Name)
.Configure<Interception>()
.SetDefaultInterceptorFor(viewModelType, new VirtualMethodInterceptor())
.AddPolicy("NotificationPolicy");
notificationPolicy.AddMatchingRule(new PropertyMatchingRule("*", PropertyMatchingOption.Set));
notificationPolicy.AddCallHandler<NotifyPropertyChangedCallHandler>();
I auto-convert to vb.net:
Dim viewModelType As Type = viewModelAssembly.[GetType](action.ViewModelTypeName)
Dim notificationPolicy = unity.AddNewExtension(Of Interception()).RegisterType(GetType(BaseViewModel), viewModelType, action.Name).Configure(Of Interception)().SetDefaultInterceptorFor(viewModelType, New VirtualMethodInterceptor()).AddPolicy("NotificationPolicy")
notificationPolicy.AddMatchingRule(New PropertyMatchingRule("*", PropertyMatchingOption.[Set]))
notificationPolicy.AddCallHandler(Of NotifyPropertyChangedCallHandler)()
单币代码产生错误,即“低限超负荷分辨率不能适用于登记Type,因为取用场是接口类型”,我不知道我如何确定这一点。 我完全是对这一团结的新.,除零碎的MS提议外,我也找不到虚的例子。 任何帮助都将受到高度赞赏。
感谢大家,
瑞 典
EDIT:Per Blam,我添加了外语,但我仍然有同样的错误。