2013-11-24 64 views
1

我會感謝你的幫助調試以下問題:靜態函數返回新對象送花兒給人設置爲null

Toolbox 

public static StdResult createLine(string extension, string site, string CSSLevel, string label) 
     { 
... 
StandardResponse res = AXLAPIServiceSingleton.getInstance().addLine(req); 
**// Return of a new custom object a the result** 
return new StdResult(StdResVal.SUCCESS, [email protected]); 
} 

MyClassA 

// Execute the createLine function which return a new object 
StdResult resActionAssociateLine = Toolbox.createLine(selectedUserExtension, selectedUserSite, valueCreateLineCSS, valueCreateLineFirstNameLastName); 
System.Diagnostics.Debug.WriteLine("Result is always null: " + resActionAssociateLine.text); 

namespace CUCMAdminPortal.CiscoAXL 
{ 
    [Serializable] 
    public class StdResult 
    { 
     public StdResVal res; 
     public string text; 

     public StdResult(StdResVal res, string text) 
     { 
      res = this.res; 
      text = this.text; 
     } 
    } 
} 

的問題是,該函數總是返回未分配給接收對象「resActionAssociateLine」的值。該對象始終爲空。當從函數返回一個字符串時,接收對象接收到該字符串。看來StdResult類正在引發一些問題。

+1

'res。@ return'你在哪裏定義'@ return'?它是一個屬性名稱?爲什麼這會是一個好主意? –

+0

@JeroenVannevel:'@'阻止處理作爲關鍵字,並允許您使用名爲'return'的普通標識符,在這種情況下,它看起來像一個屬性。 –

+0

@ BenVoigt:是的,我意識到這是一個屬性,我發佈它的時刻。讓我不寒而慄,意識到人們將它用作財產名稱。 –

回答

5

你的任務是在你的構造函數中倒退。你想把你的參數賦給你的實例var。

public StdResult(StdResVal res, string text) 
{ 
    this.res = res; 
    this.text = text; 
} 
+0

Arg !!!太可惜了......我看了100遍......謝謝! – Salim