关于c#的资源的读写的,还是不明白其操作逻辑

问题描述

搜索了网上很多,基本上是类似下面这样的操作写:ResourceWriterrw=newResourceWriter("My.resources");Imageokon=Image.FromFile("ok-on.png");rw.AddResource("ok-on.png",okon);rw.Generate();rw.Close();读://ResourceManager构造的第一个参数,有的说是"My",也测了下"My.resources",还有下面这个,反正都不对,都用不了ResourceManagerrm=newResourceManager("Images",Assembly.GetExecutingAssembly());IconicoDemo=((Icon)rm.GetObject("demo.ico"));用什么GetObject后再强制转换,实在不明白1。资源,按其AddResource()的过程,它写的时候是种hash的存储,而它Generate()时,也确实在对应目录生成My.resources文件,那它在读取的时候,为什么不需要引用资源的文件名?,(至少我找到的代码都没有用到生成的资源文件名)2。资源,为什么要区分文本,图片,等等呢?它们在计算机都是二进制存在吧,分这个有什么意义?(可能它确实没分,只是它AddResource()时对象还有byte[],Object的不同,完全不能理解为什么这样)3。资源应该可以分程序自身包含或外部单据资源文件吧,二者的操作区别在哪?4。求完整的资源读取操作代码,以及分析下其操作逻辑。。。5。多谢

解决方案

解决方案二:
那些关于资源文件的文章,有90%内容都对你没用。

时间: 2024-08-17 13:16:33

关于c#的资源的读写的,还是不明白其操作逻辑的相关文章

Android中文件读写(输入流和输出流)操作小结_Android

1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存. (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘. (3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列. 2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以. (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter. 一般我们在

Android中文件读写(输入流和输出流)操作小结

1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存. (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘. (3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列. 2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以. (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter. 一般我们在

第九天:排列活动顺序和估算活动资源,网络进度网络图,4种活动逻辑解析表,3种网络图绘制方法、确定依赖关系,提前量滞后量

java多线程并发中使用Lockers类将多线程共享资源锁定_java

复制代码 代码如下: package com.yao; import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.c

大话Linux内核中锁机制之信号量、读写信号量

大话Linux内核中锁机制之信号量.读写信号量 在上一篇博文中笔者分析了关于内存屏障.读写自旋锁以及顺序锁的相关内容,本篇博文将着重讨论有关信号量.读写信号量的内容.  六.信号量 关于信号量的内容,实际上它是与自旋锁类似的概念,只有得到信号量的进程才能执行临界区的代码:不同的是获取不到信号量时,进程不会原地打转而是进入休眠等待状态.它的定义是include\linux\semaphore.h文件中,结构体如图6.1所示.其中的count变量是计数作用,通过使用lock变量实现对count变量的

[C#]解决程序Vista/Win7下因UAC导致的读写错误

在微软的操作系统中,vista和win7加入了UAC的功能,UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员‌密码.通过在这些操作启动前对其进行验证,UAC 可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改. 如图中所示,不属于 Windows 的一部分的程序需要您的许可才能启动.它

不同WINDOWS平台下磁盘逻辑扇区的直接读写

不同WINDOWS平台下磁盘逻辑扇区的直接读写 关键字:VWIN32.中断.DeviceIoControl 一.概述 在DOS操作系统下,通过BIOS的INT13.DOS的INT25(绝对读).INT26(绝对写)等功能调用实现对磁盘逻辑扇区或物理扇区的读写是很方便的,C语言中还有对应上述功能调用的函数:biosdisk.absread和abswrite等.但在WINDOWS操作系统下编写WIN32应用程序时却再也不能直接使用上述的中断调用或函数了.那么,在WINDOWS操作系统下能不能实现磁盘

为什么不能再构造函数中执行大量的内存分配、文件读写等复杂操作??

问题描述 为什么不能再构造函数中执行大量的内存分配.文件读写等复杂操作?? 大婶们啊:为什么不能再构造函数中执行大量的内存分配.文件读写等复杂操作??? 解决方案 可以啊!谁告诉你不行的? 只是在构造函数做太复杂的操作,当出错时发现错误有时会很困难.特别是定义为全局变量时,程序还没有运行.就出错了. 解决方案二: 构造函数主要进行一些初始化工作,复杂的工作放到成员函数中处理,这样比较符合OOP设计 解决方案三: 以牺牲对象分配的时间来换取代码的简单行· 是可以的·! 但是不推荐 解决方案四: 这

从资源文件里加载文件(C#)

加载 1.概述: 资源文件很早就有了,在.Net时代里这个东西也不算稀奇,在进行多国语言化的时候通常把不同翻译的文字存放到资源包里.以前资源文件除了放字符串以外,还可以放文件.不过在C#的工程里面,资源管理面板是空的(vc++工程里资源面板可以使用),无法直接编辑资源属性,不过每个WinForm都会带一个.resx的文件,这个文件就是WinForm的资源文件.如果通过添加新项目的方法,给工程里添加资源文件的话,产生的也是.resx文件.估计.resx文件是.net给c#新设计的资源文件格式..r