2014-09-04 6 views
1

proto 파일이 파이썬에서 잘 작동합니다. 내가 protobuf - 그물을위한 CS 파일을 생성 protogen을 사용하려고하지만 때, 그것은 나에게 오류 메시지는 NullReferenceException을 제공합니다 : 개체 참조가 개체 여기Unity 3D 및 Protobuf-net : 객체에 값을 할당 할 때 NullReferenceException이 발생합니다.

의 인스턴스로 설정되지 않았습니다 나의 프로토 파일입니다

message Request { 
    enum Type { 
     CREDENTIALS    = 0; // user credentials 
    } 

    // user credentials message 
    message CredentialsData { 
     required string login = 1; 
     required string password = 2; 
    } 

    required Type      type       = 1; 
    optional CredentialsData   credentials_data    = 2;} 
request.type = Request.Type.CREDENTIALS를 할당 할 때이 유니티 3D

void Start() 
    { 
     Request request = new Request(); 
     request.type = Request.Type.CREDENTIALS; 
     request.credentials_data.login = "admin"; 
    } 

에라고

, 그것은 아무 문제가 없습니다. 하지만 다음 줄에 오류 메시지가 나타납니다. 도와주세요, 고마워요.

답변

1

request.credentials_datanull입니다. 즉 해결하기 위해 간단하다

그것은 완벽하게 작동
var request = new Request { 
     type = Request.Type.CREDENTIALS, 
     credentials_data = new CredentialsData { 
      login = "admin" 
     } 
    }; 
+0

, 감사 마크 :

request.credentials_data = new CredentialsData(); 

또는 심지어 전체 일에 대한 개체 이니셜 라이저를 사용합니다. protobuf-net에 대한 문서를 찾는 데 문제가 있습니다. 나에게 몇 가지 제안을 해줄 수 있니? – user3772803