joh*_*hnc 10 c# generics app-config unity-container
我有一个类型的类ISimpleCache<IBrokeredDataObject>
,我想在App.Config文件中添加为类型别名(然后是类型)
这条线
<typeAlias alias="ISimpleCacheOfIBrokeredDataObject" type="MyApplication.ISimpleCache<IBrokeredDataObject>, MyApplication" />
Run Code Online (Sandbox Code Playgroud)
由于<>显然是错误的,但我不相信逃避它们;
<typeAlias alias="ISimpleCacheOfIBrokeredDataObject" type="MyApplication.ISimpleCache<IBrokeredDataObject>, MyApplication" />
Run Code Online (Sandbox Code Playgroud)
也是正确的.
我目前正在将我的代码拆分为使用Unity,因此距离可编译的代码库太远而无法快速测试,并希望在此处得到一些确认.
Hos*_*Aly 22
看看这篇博文:
要编写泛型类型,请使用
`
符号,后跟接口/类接收的泛型类型的数量.
同一页的评论说:
为了在泛型中使用常量类型,您需要使用方括号(
[[ ]]
).
所以我猜你的配置文件应该包含这样的东西:
<typeAlias alias="ISimpleCacheOfIBrokeredDataObject"
type="MyApplication.ISimpleCache`1[[MyApplication.IBrokeredDataObject, MyApplication]], MyApplication" />
Run Code Online (Sandbox Code Playgroud)
注意使用"grave accent"或"backquote"字符(`
),而不是正常的单引号('
).
ken*_*ken 14
我宁愿对上面的答案发表评论,但我的得分还不够高.
Type.GetType方法(字符串)的语法记录在这里:http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx
有很多例子,其中一些是我粘贴在下面的.
具有一个类型参数的泛型类型
Type.GetType("MyGenericType`1[MyType]")
Run Code Online (Sandbox Code Playgroud)
具有两个类型参数的泛型类型
Type.GetType("MyGenericType`2[MyType,AnotherType]")
Run Code Online (Sandbox Code Playgroud)
具有两个程序集限定类型参数的泛型类型
Type.GetType("MyGenericType`2[[MyType,MyAssembly],[AnotherType,AnotherAssembly]]")
Run Code Online (Sandbox Code Playgroud)
具有程序集限定类型参数的程序集限定泛型类型
Type.GetType("MyGenericType`1[[MyType,MyAssembly]],MyGenericTypeAssembly")
Run Code Online (Sandbox Code Playgroud)
泛型类型,其类型参数是具有两个类型参数的泛型类型
Type.GetType("MyGenericType`1[AnotherGenericType`2[MyType,AnotherType]]")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10251 次 |
最近记录: |