C#'da generic type nasıl?

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

C#'da generic type nasıl?

Mesaj gönderen fduman »

Biraz advanced şeylere adım atmak istedim. Şimdi Delphi'de Generic bir proc ile form yaratmak için.

type
TFormClass = class of TForm

diyip

procedure FormYarat(FormTipi: TFormClass)İ
begin
FormTipi.Create(nil);

...

ile yaratıyorduk. Bu olayı C# da nasıl yapıyoruz? Formlar için sormuyorum aslında. Benim birçok Web Service'im var.
private System.Web.Services.Protocols.SoapHttpClientProtocol InitService(System.Web.Services.Protocols.SoapHttpClientProtocol AService)
{
System.Web.Services.Protocols.SoapHttpClientProtocol RetVal = new AService();
RetVal.UseDefaultCredentials = true;
RetVal.PreAuthenticate = true;
return RetVal;
}
İşte bu proc ile hepsini yaratıp ayarlayıp geriye pointer ini döndürmek istiyorum.

Service'lerin System.Web.Services.Protocols.SoapHttpClientProtocol'den türediğini gördüm. Bunu Forms olayındaki gibi nasıl yapmak gerekir?
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Formlar için şöle bişey denemiştim..

Kod: Tümünü seç

public Form CreateMyForms(Form xForm)
{
	xForm = new Form();
	Button button1 = new Button ();
	Button button2 = new Button ();
	button1.Text = "OK";
	button1.Location = new Point (10, 10);
	button2.Text = "Cancel";
	button2.Location = new Point (button1.Left, button1.Height + button1.Top + 10);
	xForm.Text = "My Dialog Box";
	xForm.HelpButton = true;
	xForm.FormBorderStyle = FormBorderStyle.FixedDialog;
	xForm.MaximizeBox = false;
	xForm.MinimizeBox = false;
	xForm.AcceptButton = button1;
	xForm.CancelButton = button2;
	xForm.StartPosition = FormStartPosition.CenterScreen;
	xForm.Controls.Add(button1);
	xForm.Controls.Add(button2);
	return xForm;
}

private void button1_Click(object sender, System.EventArgs e)
{
	Form newForm = null;
	newForm = CreateMyForms(newForm);
	newForm.ShowDialog();
}
Servislerle pek haşır neşir olmadığım için hiç denemedim ama buna benzer bişey yapılabilir sanırım. coderlord, yalnız bildiğim kadarıyla C# ta pointer kullanımı öyle C/C++ daki gibi bi rahat değil. Yani bi değişkenin önüne * atıp bu pointer dır diyemiyoruz. :evil: Bunun için özel bi ayar çekmek gerekiyor ama açıkçası henüz bende kullanmadım.
kolaygelsin.
DeveloperToolKit

..::|YeşilMavi|::..
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Hmm. Biraz daha araştırayım. Teşekkürler.
Cevapla