using System; namespace sharp.extensions { public struct Tripple<_X>{ public _X X { get; set; } public _X Y { get; set; } public _X Z { get; set; } public Tripple(_X x, _X y, _X z) { this.X = x; this.Y = y; this.Z = z; } public Tuple<_X> XY { get { return new Tuple<_X>(X, Y); } } public Tuple<_X> YZ { get { return new Tuple<_X>(Y, Z); } } public Tuple<_X> XZ { get { return new Tuple<_X>(X, Z); } } } public struct Tripple<_X, _Y, _Z> { public _X X { get; set; } public _Y Y { get; set; } public _Z Z { get; set; } public Tripple(_X x,_Y y,_Z z) { this.X = x; this.Y = y; this.Z = z; } public Tuple<_X,_Y> XY { get { return new Tuple<_X,_Y>(X, Y); } } public Tuple<_Y,_Z> YZ { get { return new Tuple<_Y,_Z>(Y, Z); } } public Tuple<_X,_Z> XZ { get { return new Tuple<_X,_Z>(X, Z); } } } }