How to change a generic type value?
In my application, I've created the TList type list, intended to store Integers and Doubles:

    TKList<T> = class
      private
    	FItems: TList<T>;
    	function GetItem(Index: Integer): T;
    	procedure SetItem(Index: Integer; const Value: T);
    	function GetMaxValue(): T;
    	function GetMinValue(): T;
      public
    	constructor Create; overload;
    	constructor Create(const AKList: TKList<T>); overload;
    	destructor Destroy; override;
    	procedure Assign(const AKList: TKList<T>);
    	function Add(const AValue: T): Integer;
    	procedure Clear;
    	function Count: Integer;
    	procedure Invert;
    	function ToString: string; override;
    	function Info: string;
    	property Values[Index: Integer]: T read GetItem write SetItem; default;
      end;

How can I implement Invert() procedure to invert values in generic List?

Thanks in advance.
How to change a generic type value?
===

In my application, I've created the TList type list, intended to store Integers and Doubles:

    TKList<T> = class
      private
    	FItems: TList<T>;
    	function GetItem(Index: Integer): T;
    	procedure SetItem(Index: Integer; const Value: T);
    	function GetMaxValue(): T;
    	function GetMinValue(): T;
      public
    	constructor Create; overload;
    	constructor Create(const AKList: TKList<T>); overload;
    	destructor Destroy; override;
    	procedure Assign(const AKList: TKList<T>);
    	function Add(const AValue: T): Integer;
    	procedure Clear;
    	function Count: Integer;
    	procedure Invert;
    	function ToString: string; override;
    	function Info: string;
    	property Values[Index: Integer]: T read GetItem write SetItem; default;
      end;

How can I implement Invert() procedure to invert values in generic List?

Thanks in advance.