WCF:对象引用未设置为对象的实例

本文关键字:对象 实例 设置 对象引用 WCF | 更新日期: 2023-09-27 18:22:07

我有一个CibilResponse类,它具有类类型(TUEF类)的属性。我正在尝试为CibilEnquiryEnq.Tuef.Version赋值,但我得到了空引用错误。在你把这个问题标记为重复之前,让我提一下,我已经在SO和post上阅读了一些类似的问题及其答案,正如你在我的代码中看到的那样,我在构造函数中初始化了tuef。如果可以的话,你能指出我做错了什么吗?

ICIBIL.cs

[ServiceContract]
public interface ICIBIL
{
    [OperationContract]
    string InsertCibil(CibilResponse cibilResponse);

    [OperationContract]
    string GenerateEnquiry(CibilEnquiry testObj);

}
[DataContract]
public class CibilResponse
{
    [DataMember]
    public string ResponseString { get; set; }
    [DataMember]
    public string Business { get; set; }
    [DataMember]
    public string MkrId { get; set; }
}

[DataContract]
public class CibilEnquiry
{
    [DataMember]
    public TUEF Tuef { get; set; }   
    public CibilEnquiry()
    {
        this.Tuef = new TUEF();
    }
}

    [DataContract]
    public class TUEF
    {
        [DataMember]
        public string SegmentTag { get; set; }
        [DataMember]
        public string Version { get; set; }
        [DataMember]
        public string MemberReferenceNumber { get; set; }        
    }

应用:

CibilWcfService.CIBIL obj = new CibilWcfService.CIBIL();
CibilWcfService.CibilEnquiry CibilEnquiryEnq = new CibilWcfService.CibilEnquiry();
CibilEnquiryEnq.Tuef.Version = "123";// null reference error here
string res = obj.GenerateEnquiry(CibilEnquiryEnq);

WCF:对象引用未设置为对象的实例

你能试试下面的吗。C#区分大小写。

using CbilFileReader.CibilWcfService;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {

            CIBIL obj = new CIBIL();
            CibilEnquiry CibilEnquiryEnq = new CibilEnquiry();
            TUEF objtuef = new TUEF();
            objtuef.Version = "123";
            CibilEnquiryEnq.Tuef = objtuef;
            string res = obj.GenerateEnquiry(CibilEnquiryEnq);
        }
    }
}

这可能对有用

CibilWcfService.CIBIL obj = new CibilWcfService.CIBIL();
CibilWcfService.CibilEnquiry CibilEnquiryEnq = new CibilWcfService.CibilEnquiry();
CibilWcfService.CibilEnquiry.Tuef ObjTUEF = new CibilWcfService.CibilEnquiry.Tuef();
ObjTUEF.Version="123";
CibilEnquiryEnq.Tuef = ObjTUEF;
string res = obj.GenerateEnquiry(CibilEnquiryEnq);