Generics (ジェネリクス)

Delphi2009から実装されたGenericsを見てみます
まず、VCLアプリケーションを作成し、下記コードを入力します。 Generics.CollectionsユニットをUsesします。 TListの宣言が少し違うことに注意。
Generics (ジェネリクス):画像1

実行してみます。フォームのキャプションバーが変わることが確認できました。
Generics (ジェネリクス):画像2

従来のTListはポインタを積むことしかできませんでしたが、Delphi2009では定義時に宣言した型の値を積むことができます。 また、取り出しの際にも定義時に宣言した型で直接取り出せます。(Forma1.Caption:=StrList[0])はコンパイルエラーとなりません。
ちなみに、このTListに数値を追加しようとするとコンパイルエラーになります。
Generics (ジェネリクス):画像3

Generics (ジェネリクス):画像4

もう少し複雑な例を見てみます。下図は、TPointを扱う例です。TListにTPointを追加できることがわかります。

Generics (ジェネリクス):画像5
実行すると下図の画面が表示されます。
Generics (ジェネリクス):画像6

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2008-09-20
Copyright © 1995–2025 iPentec all rights reserverd.