开发者

OPEN a Resource.resx file instead of Creating it which overrides the previous Resource.resx file

开发者 https://www.devze.com 2023-03-12 11:01 出处:网络
I start myapplication from withint Visual Studio 2010. I add then some files into my application and each file type`s icon like icon from doc,docx,xls,pdf etc are added as String/Bitmap key/value pair

I start my application from withint Visual Studio 2010. I add then some files into my application and each file type`s icon like icon from doc,docx,xls,pdf etc are added as String/Bitmap key/value pair to my IconImages.Resx file via

private void DumpTempResourceToRealResourceFile(IDictionary<String, Bitmap> tempResource)
        {

            using (ResXResourceWriter writer = new ResXResourceWriter("IconImages.Resx"))
            {
                foreach (KeyValuePair<String,Bitmap> item in tempResource)
                {
                    writer.AddResource(item.Key, item.Value);                    
                }
                writer.Generate();
            }            
        }

When the icons are added to the resource I close the application.

Then I start my application again with VS 2010 and add some files within my document application. The file types are written again to my IconImages.R开发者_StackOverflow社区esx. Then I close my application and check the IconImages.Resx file under the \bin\ folder and the previous saved images are gone and I have new/different ones now.

Why can I not say OPEN a .resx file and append stuff to it? Everytime I create a ResourceWriter object with the same name "IconImages.Resx" I overwrite the previous added stuff and thats stupid.

How can my IconImages.Resx file stay alive over an application session without being overwritten by other stuff I add?


I haven't used ResXResourceWriter, but usually *Writer classes simply write a data file from scratch.

If you want to "append" new data you would typically have to use a *Reader class to deserialise the existing data into memory, then merge/add in any new data you wish to, and use a *Writer object to then write the resulting data back out. Take a look at ResXResourceReader to see if it supports what you need to do this.


I am having now a lookup table "FiletypeImage" with the filetype ".docx" and the raw binary data aka blob. This table gets retrieved in my documentService and cached in a static variable. with a Get and Add method which are called by my DocumentListViewModel. Its very fast thx to sqlite :)

0

精彩评论

暂无评论...
验证码 换一张
取 消