PDA

View Full Version : نحوه ایجاد یک کلاس static به همراه متغیر های static ؟؟؟؟؟؟؟؟؟



rayangostar_co
سه شنبه 02 مهر 1392, 08:11 صبح
با سلام خدمت همه دوستان محترم

می خوام یه کلاس تعریف کنم که به عنوان یه منبع برای نگهداری مجموعه ای از داده ها ازش استفاده کنم. به این صورت که بدون اینکه بخوام از کلاس یه نمونه ایجاد کنم و بعدش باهاش کار کنم.
متغیرهای که می خوام تو کلاسم ازش به عنوان نگهداری داده هام استفاده کنم از نوع <TList<T باشه.
به عنوان مثال
x:TList<MyClass>
بعدش بخوام از این x به صورت زیر استفاده کنم
TMyClass.x.add('');

Felony
سه شنبه 02 مهر 1392, 09:02 صبح
متغیرهای که می خوام تو کلاسم ازش به عنوان نگهداری داده هام استفاده کنم از نوع <TList<T باشه.
یه اون نوع تعریف میگن Generic ، در حقیقت شما میخواین یک Generic از TList داشته باشید .

برای تعریف متغییر استاتیک هم از کلیدواژه class var استفاده میشه .


uses
Generics.Collections;


TTest = class
public
class var x: TList<TButton>;
end;

نمونه استفاده :


begin
TTest.x := TList<TButton>.Create;
TTest.x.Add(Button1);
ShowMessage(IntToStr(TTest.x.Count));
end;

در نظر داشته باشید که خط اول نمونه کد استفاده ربطی به ساخت کلاستون نداره ، اون خط داره Generic شما رو میسازه ، اگر میخواین این کار رو هم انجام ندید میتونید خودتون یک Property برای Add یا ... بنویسید که با صدا زدن اون بیاد Generic تون رو بسازی و مقدار مورد نظرت.ن رو بهش اضافه کنه .