protected override IEnumerable <ResourceData> GetDeserializedData() { var re = ResourceElement; if (re.ResourceData.Code == ResourceTypeCode.Null) { yield return(new ResourceData(re.Name, token => new MemoryStream())); } else if (re.ResourceData.Code == ResourceTypeCode.String) { yield return(new ResourceData(re.Name, token => ResourceUtilities.StringToStream((string)((BuiltInResourceData)re.ResourceData).Data))); } else if (re.ResourceData.Code == ResourceTypeCode.ByteArray || re.ResourceData.Code == ResourceTypeCode.Stream) { yield return(new ResourceData(re.Name, token => new MemoryStream((byte[])((BuiltInResourceData)re.ResourceData).Data))); } else if (re.ResourceData.Code >= ResourceTypeCode.UserTypes) { yield return(new ResourceData(re.Name, token => new MemoryStream(((BinaryResourceData)re.ResourceData).Data))); } else { var vs = ValueString; yield return(new ResourceData(re.Name, token => ResourceUtilities.StringToStream(vs))); } }
Stream GetDecompiledStream(CancellationToken token) { var output = new StringBuilderDecompilerOutput(); Decompile(output, token); return(ResourceUtilities.StringToStream(output.ToString())); }