示例#1
0
        public static void Main()
        {
#if false
            var cap = new CapsuledData();
            cap.P.X = 1; // プロパティの戻り値(コピー品)の書き換えはエラーに
            cap[0].X = 1; // インデクサーの戻り値も同様、エラーに
#else
            // こんな書き方が必須になる
            var cap = new CapsuledData();
            var p = cap.P;
            p.X = 1;
            cap.P = p;
            var q = cap[0];
            q.X = 1;
            cap[0] = q;
#endif
        }
示例#2
0
        public static void Main()
        {
#if false
            var cap = new CapsuledData();
            cap.P.X  = 1; // プロパティの戻り値(コピー品)の書き換えはエラーに
            cap[0].X = 1; // インデクサーの戻り値も同様、エラーに
#else
            // こんな書き方が必須になる
            var cap = new CapsuledData();
            var p   = cap.P;
            p.X   = 1;
            cap.P = p;
            var q = cap[0];
            q.X    = 1;
            cap[0] = q;
#endif
        }