2012-09-08 68 views
0

我是通過PresentationCore.dll中的源使用DotPeek瀏覽時,我發現這一點:在C#中使用成員名稱時,角括號是什麼意思?

// Type: MS.Internal.TtfDelta.CMAP_HEADER 
// Assembly: PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
// Assembly location: D:\Windows\Microsoft.NET\assembly\GAC_64\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll 

using System.Runtime.CompilerServices; 
using System.Runtime.InteropServices; 

namespace MS.Internal.TtfDelta 
{ 
    [NativeCppClass] 
    [StructLayout(LayoutKind.Sequential, Size = 4)] 
    internal struct CMAP_HEADER 
    { 
    private short <alignment member>; 
    } 
} 

什麼是 「private short <alignment member>」 是什麼意思?

+1

我只能認爲它是由DotPeek添加的東西。 – ChrisF

+0

是的,它不適合作爲C#源代碼。 –

回答

1

有時反彙編程序不知道代碼的實際成員是什麼,它會使用「猜測」類型。

即使在.NET Framework上使用dotPeek的情況下,反彙編器爲我們提供了僞代碼,但它仍然不是「真正的」代碼,如下面的HashEntry類中的base.ctor調用:

private class HashEntry 
{ 
    public string[] names; 
    public ulong[] values; 

    public HashEntry(string[] names, ulong[] values) 
    { 
    base.\u002Ector(); 
    this.names = names; 
    this.values = values; 
    } 
} 

我從mscorlib取得的結果證明了這一點。

相關問題