parametreleri geçmiyorsa, bunun basit bir soru olduğunu umuyorum ve sadece bu son bağlantıyı eksik olan beynim. Ve başka bir yerde & varsa, lütfen beni oraya yönlendir ve kapat ... ama hiçbir yerde bulamadım. Ben çok iyi, bugüne kadarC# bu parametreler isteğe bağlı
public class Test
{
public void Method(string required, string someoptionalparameter="sometext", string anotheroptionalparameter="someothertext")
{
// do something here with the parameters
}
}
çizgisinde bir isteğe bağlı parametreleri ile yöntemle, bir şey ile bir sınıf var
: Burada
özü buydu....
Test.Method("RequiredString");
ve bu çalışacaktır:
Şimdi, sınıf örneğini ve benim kodda yöntemi çağırmak için gidiyorum. İsteğe bağlı parametreler sağlarsam, yine de çalışır.Ancak, isteğe bağlı bir değerin gerçekte sağlanmış olup olmadığını bilmediğim bir senaryoyu nasıl ele alırım. Yani örneğin:
...
Test.Method(requiredString,optionalString1,optionalString2);
...
Ne optionalString1 ve optionalString2 bir değere sahip olmadığını ben bilmiyor yaparsanız? Sonra ... çizgisinde her senaryo için geçersiz kılma yazmak için
if (optionalString1.isEmpty() && optionalString2.isEmpty())
{
Test.Method(requiredString);
}
else if ((!optionalString1.isEmpty() && optionalString2.isEmpty())
{
Test.Method(requiredString, optionalString1);
}
else if...
ihtiyaç mı var başka bir yolu olmalı ve bunu basit bahis ve ben sadece bu Cuma birini yaşıyorum .. ...
[Bu] bakınız (http://stackoverflow.com/questions/199761/how-can-you-use-optional-parameters-in- c) sorgunuza benzer gibi görünüyor. – fujiFX
Teşekkür ederiz, @fujiFX. Bunu daha önce okumuştum, ama o kadar da değil. Düşündüğüm, isteğe bağlı bir formda bir tedarikçi alanı vardı, ancak "MySupplier" varsayılan değerine sahip. Dolayısıyla, tedarikçi değişkeni olmadan yöntemi çağırırsam, bu alanı "MySupplier" ile veritabanında çalışır ve doldurur. Ancak, eğer tedarikçi doldurulmazsa ve yöntemime "" geçerse. Ardından alanı "" ile doldurmak yanlış olur. "MySupplier" olmalı ... bu mantıklı mı? – ToshiBoy
IMO, varsayılan değerin geçip geçmediğini (çağrıdaki değer atlandı) bilmeniz gerekiyorsa, isteğe bağlı parametreler kullanmamalısınız - anlamlı bir varsayılan değer olduğunda bunlar içindir. –