2016-09-20 58 views

回答

2

簡而言之:是的,他們做的。

只要看看源代碼:https://unity.codeplex.com/SourceControl/latest#source/Unity/Src/UnityContainerExtensions.cs

用的一般方法:

public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, params InjectionMember[] injectionMembers) where TTo : TFrom 
{ 
    Guard.ArgumentNotNull(container, "container"); 
    return container.RegisterType(typeof(TFrom), typeof(TTo), null, null, injectionMembers); 
} 

非泛型方法:

public static IUnityContainer RegisterType(this IUnityContainer container, Type from, Type to, params InjectionMember[] injectionMembers) 
{ 
    Guard.ArgumentNotNull(container, "container"); 
    return container.RegisterType(from, to, null, null, injectionMembers); 
} 
+1

通用重載的優點是事實上C#編譯器會在編譯時爲你做類型檢查,而不是讓代碼在運行時失敗'TFrom'不能從'TTo'分配。 – Steven

相關問題