Khi tôi thực hiện một dự án mới cho các bài kiểm tra đơn vị của tôi về thư viện lớp C# được gọi là UnitTests, tôi đã nhấp chuột phải và thêm một tài nguyên mới. Tôi đã đặt tên là UnitTestsResources. Tôi đã thêm 2 chuỗi vào tài nguyên đó. Tôi đã sau đó có thể thuận tiện có thể truy cập chúng như thế này
UnitTestsResources.NoDeviceRequireMsg
Tôi đã tò mò làm thế nào mà làm việc vì vậy tôi kéo lên mã đằng sau các tập tin tài nguyên và nó có ý nghĩa. Visual Studio tạo một lớp nội bộ với accessors tĩnh .. Nó trông như thế này đối với tôi
[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);
}
}
}
Vì nó chỉ dành cho các bài kiểm tra đơn vị của tôi Tôi thỏa mãn với điều này. Hy vọng nó sẽ giúp người khác.
Nguồn
2013-07-08 15:13:12
Xin chào, cảm ơn mã. Không phải lin1 sử dụng sự phản chiếu? làm thế nào có thể thực hiện được điều này. – Deeptechtons
@Deeptechtons, Yeah - sorta. Tôi thực sự không nghĩ rằng GetType().Hội là tất cả những gì chậm, nhưng ngay cả khi nó được, có lẽ bạn chỉ cần làm điều đó một thời gian sớm trong chương trình của bạn. Ý tưởng là bạn sẽ stash 'resourceManager' ở đâu đó trong đối tượng chính của ứng dụng hoặc thứ gì đó và chỉ sử dụng nó khi bạn cần lấy một chuỗi. – sblom
Có một hội đồng cung cấp sự kiện sớm trong vòng đời, do đó, do ngoại lệ thời gian xảy ra tôi chỉ nhận được để lấy chuỗi thay vì instantiating mỗi lần. – Deeptechtons