在Unity App.Config文件中包含generics类

我有一个类型ISimpleCache ,我想在ISimpleCache中添加为类型别名(然后是类型)

这条线

 <typeAlias alias="ISimpleCacheOfIBrokeredDataObject" type="MyApplication.ISimpleCache, MyApplication" /> 

由于显然是错误的,但我不相信逃避它们;

  

也是正确的。

我目前正在将我的代码拆分为使用Unity,因此距离可编译的代码库太远而无法快速测试,并希望在此处得到一些确认。

看看这篇博文:

为了编写generics类型,使用`符号后跟接口/类接收的generics类型的数量。

同一页的评论说:

为了在generics中使用常量类型,您需要使用括号( [[ ]] )。

所以我猜你的配置文件应该包含这样的东西:

  

注意使用“严重重音”或“反引号”字符( ` ),而不是正常的单引号( ' )。

我宁愿对上面的答案发表评论,但我的得分还不够高。

此处的Type.GetType方法(字符串)记录了语法: http : //msdn.microsoft.com/en-us/library/w3f99sx1.aspx

有很多例子,其中一些是我粘贴在下面的。

具有一个类型参数的generics类型

 Type.GetType("MyGenericType`1[MyType]") 

具有两个类型参数的generics类型

 Type.GetType("MyGenericType`2[MyType,AnotherType]") 

具有两个程序集限定类型参数的generics类型

 Type.GetType("MyGenericType`2[[MyType,MyAssembly],[AnotherType,AnotherAssembly]]") 

具有程序集限定类型参数的程序集限定generics类型

 Type.GetType("MyGenericType`1[[MyType,MyAssembly]],MyGenericTypeAssembly") 

generics类型,其类型参数是具有两个类型参数的generics类型

 Type.GetType("MyGenericType`1[AnotherGenericType`2[MyType,AnotherType]]") 

这就是您使用接收两种generics类型的类型的方法:

 

如果您愿意,可以在不同的行上使用每种类型,以便更容易理解。 请注意,第一个括号必须在类型后面(FamilySection`2 ** [**]。

这是强签名类型作为通用参数。