首页 新闻 会员 周边

WCF 中数据协定命名空间问题?

0
悬赏园豆:5 [待解决问题]

泛型类型的数据协定名称

确定泛型类型的数据协定名称具有特殊的规则。这些规则有助于避免在同一泛型类型的两个封闭式泛型之间发生数据协定名称冲突。

默认情况下,泛型类型的数据协定名称是该类型的名称后跟随字符串“Of”,后面跟随泛型参数的数据协定名称,后面跟随使用泛型参数的数据协定命名空间计算的哈希值。哈希值是作为唯一标识数据片段的“指纹”的数学函数的计算结果。当所有的泛型参数都是基元类型时,将忽略哈希值。

有关示例,请参见以下示例中的类型。

在此示例中,Drawing<Square,RegularRedBrush> 类型具有数据协定名称“DrawingOfSquareRedBrush5HWGAU6h”,其中“5HWGAU6h”是“urn:shapes”和“urn:default”命名空间的哈希值。Drawing<Square,SpecialRedBrush> 类型具有数据协定名称“DrawingOfSquareRedBrushjpB5LgQ_S”,其中“jpB5LgQ_S”是“urn:shapes”和“urn:special”命名空间的哈希值。请注意,如果不使用哈希值,则这两个名称将完全相同,因此会发生名称冲突。

   这个两个泛型的命名空间怎么就冲突了呢?来自微软MSDN:https://msdn.microsoft.com/zh-cn/library/ms731045(v=vs.90).aspx

问题补充:

那个两个泛型类名字不一样的啊。

Company的主页 Company | 初学一级 | 园豆:32
提问于:2016-06-21 20:50
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册