Cuando hice un nuevo proyecto para mis pruebas unitarias de la biblioteca de clases de tipo C# llamada UnitTests, hice clic derecho y agregué un nuevo recurso. Llamé a UnitTestsResources. Agregué 2 cadenas a ese recurso. Yo era entonces capaz convenientemente acceder a ellos de esta manera
UnitTestsResources.NoDeviceRequireMsg
tenía curiosidad de cómo eso funcionó, así que se detuvo el código detrás del archivo de recursos y tiene sentido. Visual Studio hizo una clase interna con descriptores de acceso estáticas .. Parece que este para mí
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class UnitTestsResources {
//Some auto generated code
/// <summary>
/// Looks up a localized string similar to OPOS Device is required for test.
/// </summary>
internal static string DeviceRequireMsg {
get {
return ResourceManager.GetString("DeviceRequireMsg", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to OPOS Device must not be installed for test.
/// </summary>
internal static string NoDeviceRequireMsg {
get {
return ResourceManager.GetString("NoDeviceRequireMsg", resourceCulture);
}
}
}
Dado que es sólo para mi unidad pruebas me contento con esto. Espero que ayude a alguien más.
Hola, gracias por el código. ¿No emplea la lin1 la reflexión? qué tan eficiente puede ser esto. – Deeptechtons
@Deeptechtons, sí, sorta. De hecho, no creo que GetType().La asamblea es lenta, pero incluso si lo es, presumiblemente lo harías una vez al principio de tu programa. La idea es que ocultes 'resourceManager' en algún lugar del objeto principal de tu aplicación o algo así y solo úsala cuando necesites una cadena. – sblom
¿Un ensamblaje proporciona eventos al principio del ciclo de vida, de modo que cuando se produce una excepción, solo tengo que recuperar la cadena en lugar de crear una instancia cada vez. – Deeptechtons