我注意到大多数(所有?).winmd文件的版本为255.255.255.255,如:
Windows,版本= 255.255.255.255,Culture = neutral,PublicKeyToken = null
Metro应用程序可以使用此版本号引用此类程序集.
Windows.winmd本身也引用了:
mscorlib,版本= 255.255.255.255,Culture = neutral,PublicKeyToken = b77a5c561934e089
但是,据我所知,具有此版本号的程序集不存在.
此版本号是否具有特殊含义?有没有这方面的文件?
在WinRT中有一些叫做投影类型的东西.例如,在元数据中,IXamlType.UnderlyingType定义为:
TypeName UnderlyingType { get; }
Run Code Online (Sandbox Code Playgroud)
但是,当在C#应用程序中使用时,它会更改如下:
Type UnderlyingType { get; }
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 是否有关于规则,API,用于此类映射的属性的文档?
据我了解,你应该保持签名文件的秘密.那么.net框架程序集的Mono版本如何也具有相同的公钥标记b77a5c561934e089.
假设我有一个Node类,如下所示:
class Node<T>
{
T data;
List<Node<T>> children;
internal Node(T data)
{
this.data = data;
}
List<Node<T>> Children
{
get
{
if (children == null)
children = new List<Node<T>>(1);
return children;
}
}
internal IEnumerable<Node<T>> GetChildren()
{
return children;
}
internal bool HasChildren
{
get
{
return children != null;
}
}
internal T Data
{
get
{
return data;
}
}
internal void AddChild(Node<T> child)
{
this.Children.Add(child);
}
internal void AddChild(T child)
{
this.Children.Add(new Node<T>(child));
}
}
Run Code Online (Sandbox Code Playgroud)
问题是树的每个节点都被限制在一个类型中.但是,在某些情况下,根节点属于一种类型,其中包含具有第三种类型子节点的另一种类型的子节点(示例文档 - …