Arthas说:要有优雅。
于是便有了优雅。
tbugs说:
要有能指向自身类型的struct
于是就有了指向自身类型的struct。
struct可以实现接口的。 可以绕过那个该死的编译器限制。
试试是否符合你的要求。
参见:- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Diagnostics;
- namespace WriteForTBugs
- {
- class Program
- {
- static void Main(string[] args)
- {
- Point parent = new Point()
- {
- Width = 5,
- Height = 3
- };
- Point child = new Point()
- {
- Width = 7,
- Height = 8,
- parent = parent
- };
- Console.WriteLine(child.parent.Width);
- Console.WriteLine(child.parent.Height);
-
- Point[] source = new Point[] { parent};
- Point[] aim = new Point[1];
- Array.Copy(source, aim, 1);
- parent.Width = 7;
- parent.Height = 7;
- Debug.Equals(aim[0].Width, 5);
- Debug.Equals(aim[0].Height, 3);
- }
- }
- public interface IPoint
- {
- int Width
- {
- get;
- set;
- }
- int Height
- {
- get;
- set;
- }
- }
- public struct Point : IPoint
- {
- public int Width
- {
- get;
- set;
- }
- public int Height
- {
- get;
- set;
- }
- public IPoint parent
- {
- get;
- set;
- }
- }
- }
复制代码 |
|