2013-11-02 26 views
0

在我的web服务中,我必须传递复杂元素中的复杂元素列表。是否有可能发送复杂的元素在c#中的复杂元素列表?

我的第一节课是:

public List<JBCredential> JBCredentials{ get; set; } 
public string codes { get; set; } 
public string db { get; set; } 
public string locale { get; set; } 
public string location { get; set; } 
public string mode { get; set; } 
public string postcode { get; set; } 

在上面的类我已经派另一个类,如下列表:

public string code { get; set; } 
public string Username { get; set; } 
public string Password { get; set; } 

现在我想上面的类发送到我的方法。 但是,当我加入第二类列出一流的,我发现了以下错误

Object reference not set to an instance of an object. 

请帮我解决这个问题。

我已经试过以下

 test.request s=new test.request(); 
    test.JBCredential jb = new test.JBCredential(); 
     jb.code = "LNK"; 
     jb.Username = ""; 
     jb.Password = ""; 
     /
     s.query = "java"; 

     s.mode = "mock_search"; 
     s.JBCredentials.Add(jb);//I'm not getting add method 

      so I've tried like this 
     s.JBCredentials[0].code = jb.code; 
     s.JBCredentials[0].Password = jb.Password; 
     s.JBCredentials[0].Username = jb.Username; 
and also I tried 
List<JBCredential> ad=new List<JBCredential>(); 
    ad.Add(jb); 
s.JBCredentials=ad; 

我能够从值正常请求传递给JBcredentials类型但我无法通过这种类型的,当我调用Web服务。

+2

请告诉你应该如何添加和其他代码 – LINQ2Vodka

回答

1

确保您在构造函数初始化列表:

public ComplexClass { 
    public ComplexClass() { 
    this.JBCredentials = new List<JBCredential>(); 
    } 
} 
+0

我初始化一个在我的构造函数 –

+0

你确定吗?带列表的NRE通常意味着它们没有被正确初始化。 – knittl

+0

是的。我已初始化 –

相关问题