当前位置: 首页>>代码示例>>C#>>正文


C# ResourceReader.OfType方法代码示例

本文整理汇总了C#中System.Resources.ResourceReader.OfType方法的典型用法代码示例。如果您正苦于以下问题:C# ResourceReader.OfType方法的具体用法?C# ResourceReader.OfType怎么用?C# ResourceReader.OfType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Resources.ResourceReader的用法示例。


在下文中一共展示了ResourceReader.OfType方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetResourceStream

 public static Stream GetResourceStream(string resName)
 {
     var assembly = Assembly.GetExecutingAssembly();
     var strResources = assembly.GetName().Name + ".g.resources";
     var rStream = assembly.GetManifestResourceStream(strResources);
     var resourceReader = new ResourceReader(rStream);
     var items = resourceReader.OfType<DictionaryEntry>();
     var stream = items.First(x => (x.Key as string) == resName.ToLower()).Value;
     return (UnmanagedMemoryStream)stream;
 }
开发者ID:EusthEnoptEron,项目名称:opengl-tests,代码行数:10,代码来源:Helper.cs

示例2: AnalyzeResource

 void AnalyzeResource(ModuleDefinition mod, int resId)
 {
     EmbeddedResource res = mod.Resources[resId] as EmbeddedResource;
     ResourceReader resRdr = new ResourceReader(res.GetResourceStream());
     Dictionary<string, object> ress;
     Dictionary<string, BamlDocument> bamls;
     (res as IAnnotationProvider).Annotations["Gresources"] = ress = new Dictionary<string, object>();
     (res as IAnnotationProvider).Annotations["Gbamls"] = bamls = new Dictionary<string, BamlDocument>();
     int cc = 0;
     int n = 0;
     var reses = resRdr.OfType<DictionaryEntry>().ToArray();
     foreach (DictionaryEntry entry in reses)
     {
         Stream stream = null;
         if (entry.Value is Stream)
         {
             byte[] buff = new byte[(entry.Value as Stream).Length];
             (entry.Value as Stream).Position = 0;
             (entry.Value as Stream).Read(buff, 0, buff.Length);
             ress.Add(entry.Key as string, stream = new MemoryStream(buff));
         }
         else
             ress.Add(entry.Key as string, entry.Value);
         if (stream != null)
         {
             if ((entry.Key as string).EndsWith(".baml"))
             {
                 ProcessBaml(mod, bamls, ref cc, entry, stream);
             }
             else if ((entry.Key as string).EndsWith(".xaml"))
             {
                 ProcessXaml(mod, ref cc, entry, stream);
             }
         }
         n++;
         Logger._Progress(n, reses.Length);
     }
     if (cc != 0)
         ((res as IAnnotationProvider).Annotations[RenRef] as List<IReference>).Add(new SaveWpfResReference(mod, resId));
 }
开发者ID:n017,项目名称:Confuser,代码行数:40,代码来源:NameAnalyzer.Wpf.cs

示例3: UpdareResource

        private void UpdareResource(HashSet<IAssemblyInfo> modified, string token, IAssemblyInfo assemblyInfo, ModuleDefinition module)
        {
            var resArray = module.Resources.ToArray();
            for (var resIndex = 0; resIndex < resArray.Length; resIndex++)
            {
                var resource = resArray[resIndex];
                if (resource.ResourceType == ResourceType.Embedded)
                {
                    if(!resource.Name.EndsWith(".g.resources"))
                    {
                        continue;
                    }

                    var embededResource = (EmbeddedResource)resource;
                    var modResource = false;

                    var memoryStream = new MemoryStream();
                    var rw = new ResourceWriter(memoryStream);

                    var stream = embededResource.GetResourceStream();
                    var reader = new ResourceReader(stream);
                    foreach (var entry in reader.OfType<DictionaryEntry>().ToArray())
                    {
                        var resourceName = entry.Key.ToString();
                        var resourceStream = entry.Value as Stream;

                        if (resourceStream != null && resourceName.EndsWith(".baml", StringComparison.InvariantCulture))
                        {
                            modResource = this.CheckBaml(modified, token, assemblyInfo, modResource, rw, resourceName, resourceStream);
                        }
                        else
                        {
                            rw.AddResource(resourceName, entry.Value);
                        }
                    }

                    if (modResource)
                    {
                        ReplaceResource(module, resIndex, resource, memoryStream, rw);
                    }
                }
            }
        }
开发者ID:rjasica,项目名称:sign,代码行数:43,代码来源:UpdateBaml.cs

示例4: GetResourcesUnder

        private static string[] GetResourcesUnder(string folder)
        {
            folder = folder.ToLower() + "/";

            var assembly       = Assembly.GetCallingAssembly();
            var resourcesName  = assembly.GetName().Name + ".g.resources";
            var stream         = assembly.GetManifestResourceStream(resourcesName);
            var resourceReader = new ResourceReader(stream);

            var resources = resourceReader.OfType<DictionaryEntry>()
                .Select(p => p.Key.ToString())
                .Where(theme => theme.StartsWith(folder));

            return resources.ToArray();
        }
开发者ID:Tesserex,项目名称:C--MegaMan-Engine,代码行数:15,代码来源:NewProjectViewModel.cs

示例5: GetResourcesCount

		public static int GetResourcesCount(Dictionary<ModuleDefinition, Collection<Resource>> resources)
		{
			int result = 0;

			foreach (Collection<Resource> moduleResources in resources.Values)
			{
				foreach (Resource resource in moduleResources)
				{
					if (resource.ResourceType != ResourceType.Embedded)
					{
						continue;
					}

					EmbeddedResource embeddedResource = (EmbeddedResource)resource;
					if (resource.Name.EndsWith(".g.resources", StringComparison.OrdinalIgnoreCase))
					{
						using (ResourceReader resourceReader = new ResourceReader(embeddedResource.GetResourceStream()))
						{
                            result += resourceReader.OfType<System.Collections.DictionaryEntry>().Count();
						}
					}
					else
					{
						result++;
					}
				}
			}

			return result;
		}
开发者ID:juancarlosbaezpozos,项目名称:JustDecompileEngine,代码行数:30,代码来源:Utilities.cs


注:本文中的System.Resources.ResourceReader.OfType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。