コード例 #1
0
        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)));
            }
        }
コード例 #2
0
        Stream GetDecompiledStream(CancellationToken token)
        {
            var output = new StringBuilderDecompilerOutput();

            Decompile(output, token);
            return(ResourceUtilities.StringToStream(output.ToString()));
        }