17 Ocak 2010, Pazar
Parametre olarak geçirmek Yöntem kullanarak C#
Birkaç yöntem aynı imza (parametreleri ve dönüş değerleri) ama farklı isimler var ve yöntemlerin iç yapıları farklıdır. Geçti yöntemi çağıracağı başka bir yöntem çalıştırmak için bu yöntemin adı geçmek istiyorum.
public int Method1(string)
{
... do something
return myInt;
}
public int Method2(string)
{
... do something different
return myInt;
}
public bool RunTheMethod([Method Name passed in here] myMethodName)
{
... do stuff
int i = myMethodName("My String");
... do more stuff
return true;
}
public bool Test()
{
return RunTheMethod(Method1);
}
Bu kod çalışmıyor ama bunu yapmak için çalışıyorum. Benim anlamadığım parametre tanımlamak gerekiyor beri RunTheMethod kodu yazmak için nasıl.
CEVAP
17 Ocak 2010, Pazar
İşlev temsilci olarak kullanabilirsiniz .RunTheMethod yöntemi parametre olarak net 3.5. İşlev temsilci, belirli bir türde bir dizi parametre alan bir yöntemi belirlemenizi sağlar ve belirli bir türü için tek bir bağımsız değişken döndürür. Burada çalışması gerektiğini bir örnek:
public class Class1
{
public int Method1(string input)
{
//... do something
return 0;
}
public int Method2(string input)
{
//... do something different
return 1;
}
public bool RunTheMethod(Func<string, int> myMethodName)
{
//... do stuff
int i = myMethodName("My String");
//... do more stuff
return true;
}
public bool Test()
{
return RunTheMethod(Method1);
}
}
Bunu Paylaş:
Nasıl javascript kullanarak dinamik ol...
Java Yöntemi Parametre olarak Geçirmek...
özelliği bir işlevi string parametre o...
Nasıl json YAZILAN veri nesnesi olarak...
Yöntem parametre adı Java yansıma kull...