【问题标题】:Implicit downcast from 'System.IO.Stream' to 'System.IO.MemoryStream'从“System.IO.Stream”隐式向下转换为“System.IO.MemoryStream”
【发布时间】:2012-11-01 16:02:10
【问题描述】:
function SerializeObject(pObject : Object)
{
   var XmlizedString : String  = null;
   var memoryStream : MemoryStream  = new MemoryStream();
   var xs : XmlSerializer = new XmlSerializer(typeof(XmlData));
   var xmlTextWriter : XmlTextWriter  = new XmlTextWriter(memoryStream, Encoding.UTF8);
   xs.Serialize(xmlTextWriter, pObject);
   memoryStream = xmlTextWriter.BaseStream;
   XmlizedString = UTF8ByteArrayToString(memoryStream.ToArray());
   return XmlizedString;
}

问题出在一行:

memoryStream = xmlTextWriter.BaseStream;

我知道 xmlTextWriter.BaseStream 属于流类型,但我该如何进行类型转换呢?

感谢任何高级帮助!

【问题讨论】:

  • 我不确定这与 JavaScript 有什么关系??
  • 你确定那是javascript吗?另外,如果这些类与我期望的一样,为什么需要从xmlTextWriter 中提取BaseStream?不就是 memoryStream 变量已经引用并传递给 XmlTestWriter 构造函数的同一个流吗?
  • 它的javascript,但适用于Unity3D

标签: .net casting unity3d downcast unityscript


【解决方案1】:

您可以将as 用于引用类型。

试试:

memoryStream = xmlTextWriter.BaseStream as MemoryStream;

查看这个问题了解更多详情:How to perform Explicit typecasting in UnityScript?

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 2018-07-06
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2011-05-18
    相关资源
    最近更新 更多