[英]C# out parameter value passing
我正在使用contactsreader.dll
導入我的Gmail聯系人。 我的一個方法有out
參數。 我這樣做:
Gmail gm = new Gmail();
DataTable dt = new DataTable();
string strerr;
gm.GetContacts("chendur.pandiya@gmail.com", "******", true, dt, strerr);
// It gives invalid arguments error..
我的Gmail課程有
public void GetContacts(string strUserName, string strPassword,out bool boolIsOK,
out DataTable dtContatct, out string strError);
我是否為out
參數傳遞了正確的值?
您需要使用out
關鍵字將它們作為聲明的變量傳遞:
bool isOk;
DataTable dtContact;
string strError;
gm.GetContacts("chendur.pandiya@gmail.com", "******",
out isOk, out dtContact, out strError);
換句話說,您不會將值傳遞給這些參數,而是在出路out
接收它們。 只有一種方法。
調用方法時你必須把“out” - gm.GetContacts("chendur.pandiya@gmail.com", "******", out yourOK, out dt, out strerr);
順便說一下,你不必做DataTable dt = new DataTable();
在打電話之前 我們的想法是GetContacts
方法將初始化你的out
變量。
鏈接到MSDN
教程。
既然定義了你的功能
public void GetContacts(string strUserName, string strPassword, out bool boolIsOK, out DataTable dtContatct, out string strError);
要求您傳遞一些out
參數,您需要在調用時尊重方法簽名
gm.GetContacts("<username>", "<password>", out boolIsOK, out dtContatct, out strError);
請注意, out
參數只是占位符,因此在將它們傳遞給方法之前不需要提供值。 您可以在MSDN網站上找到有關out
參數的更多信息。
我建議您傳遞bool變量而不是文字值,並將out關鍵字放在它們之前。
bool boolIsOK = true;
gm.GetContacts("chendur.pandiya@gmail.com", "******", out boolIsOK, out dt, out strerr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.