想象一下,您正在開發一個由數百個程序集組成的.Net 4.0項目,每個程序集都有自己的用於本地化的資源文件(.resx)。通過使用ResXFileCodeGenerator(創建一個「ResourceFile.Designer.cs」文件)自動生成的類從C#訪問本地化的字符串:string test = ResourceFile.TestString;
如何繼承資源文件(resx)
每個程序集都有本地化的字符串,它們是特定的,但有字符串是所有組件通用。您告訴自己,如果資源密鑰在「本地」資源文件中不可用,那麼在「父」資源文件中包含這些「常用字符串」會很好,在這種情況下代碼將會退回。你然後說:「嘿!繼承可以在這裏工作。」事實上,在自動生成的設計器文件中做這樣的事情確實有效: internal class ResourceFile : ParentResourceFile
也就是說,在ResourceFile
中未定義的字符串,但在ParentResourceFile
中定義的字符串仍可以用ResourceFile.StringInParentFile
訪問。
但一些在設計文件頭的麻煩你:「更改此文件可能會導致不正確的行爲,並將會丟失,如果重新生成代碼。」另外,你知道在自動生成的設計文件播放是皺起眉頭。所以你來這裏,你問:
- 什麼時候ResXFileCodeGeoderator生成/重新生成設計器 類?
- 有沒有辦法關閉自動生成?
- 我們是否有 放棄ResXFileCodeGenerator的優勢並實施我們的 自己對ResourceManager的處理?
而你說「謝謝」。
這沒有爲我工作......你是如何使它可以調用「BaseClass.BaseResourceFile.TestString」? – Denis