public void SetComputeStrategy <U>() where U : ICanComputeZ, new() { this.surfaceComputer = new U(); }
public MovableObject() { this.moveStrategy = new T(); this.surfaceComputer = new C(); }