none
請問如何在Struct裡使用type為Struct的型別 RRS feed

  • 問題

  • unsafe struct FIELD2N
            {
                public fixed ulong e[9];
            }
     
    public struct CURVE
            {
                public short form;
                public FIELD2N a2;
                public FIELD2N a6;
            }
     
    以上是我想實現在struct裡使用type為Struct的型別的程式碼
     
    但卻出現錯誤 CS0052
     
    FIELD2N 比欄位 CURVE.a2存取的範圍低
     
    請問我該如何除錯
     
                                  謝謝各位大大

    2006年3月15日 上午 02:58

解答

  • 基本上, 從上面的unsafe struct FIELD2N中定義, 你沒有特別加上存取修飾詞, 所以它會預設為private, 再者, 你在public struct CURVE中宣告public FIELD2N a2與public FIELD2N a6都是加上public存取修飾詞自然與你原本定義不符合, 而且private的存取本是最嚴謹的層級, 所以會引發CS0052 的錯誤.
    我的建議如下,

    1. 你可以明定unsafe public struct FIELD2N

    2. 如果你有安全性的考量, 你可以將FIELD2N a2與FIELD2N a6都改成private存取層級

    2006年3月15日 上午 10:05