使用未分配的局部变量错误

wcf*_*emi -1 c# unassigned-variable

我收到一个错误:

"使用未分配的局部变量'PostData'"

在方法中编译以下语句时.我的意图是获取包含XML SOAP标头的"字符串"值并将其转换为XMLDictionaryWriter对象.请参阅下面的代码:

Stream PostData;
byte[] buffer = Encoding.ASCII.GetBytes(x509.CreateX509SoapEnvelope());
PostData.Write(buffer, 0, buffer.Length); // error here
XmlDictionaryWriter xmlwriter = XmlDictionaryWriter.CreateTextWriter(PostData, Encoding.ASCII);
request.Headers.WriteHeaderContents(0,xmlwriter);
Run Code Online (Sandbox Code Playgroud)

仅供参考,输出x509.CreateX509SoapEnvelope()是一个字符串,我测试了那部分,它的工作原理.我标记了上面的代码,以显示错误发生的位置.需要帮助解决错误以及如何解决它?

jas*_*son 5

您从未为其分配过值PostData.因此,它的默认值是null,并且编译器足够聪明,可以告诉您这是一件坏事(如果它允许您的代码原样,您将获得运行时NullReferenceException).您需要实例化一个类的实例Stream(Stream是抽象的,因此您需要一个具体的实例)并将其分配给PostData.