ResourceManager Constructor (String, Assembly)

Updated: January 2011

Initializes a new instance of the ResourceManager class that looks up resources contained in files with the specified root name using the given assembly.

Namespace:  System.Resources
Assembly:  mscorlib (in mscorlib.dll)

public ResourceManager(
	string baseName,
	Assembly assembly
)

Parameters

baseName
Type: System.String

The root name of the resource file without its extension but including a fully qualified namespace name. For example, the root name for the resource file named "MyApplication.MyResource.en-US.resources" is "MyApplication.MyResource".

assembly
Type: System.Reflection.Assembly

The main assembly for the resources.

ExceptionCondition
ArgumentNullException

The baseName or assembly parameter is null.

The individual resource files should be contained in satellite assemblies, with the default culture's.resource file contained in the main assembly. A satellite assembly is assumed to contain resources for a single culture specified in that assembly's manifest, and is loaded as necessary.

If the resource file identified by baseName cannot be found in assembly, the method instantiates a ResourceManager object, but the attempt to retrieve a specific resource throws an exception, typically a MissingManifestResourceException.

This constructor uses the system provided ResourceSet implementation. To use a custom resource file format, you should derive from the ResourceSet class, override GetDefaultReader and GetDefaultWriter, and pass that type to the constructor that takes a Type as the third parameter. Using a custom ResourceSet can be useful for controlling resource caching policy or supporting your own resource file format, but is generally not necessary.

The following example uses a simple non-localized "Hello World" application to illustrate the ResourceManager constructor. The following shows the contents of a text file named ExampleResources.txt. When the application is compiled, the resource is embedded in the main application assembly.

Greeting=Hello

The text file can be converted to a binary resource file by using the Resource File Generator (ResGen.exe) at the command line as follows:

resgen ExampleResources.txt

The following example provides the executable code that instantiates a ResourceManager object, prompts the user to enter a name, and displays a greeting.

using System;
using System.Reflection;
using System.Resources;

public class Example
{
   public static void Main()
   {
      // Retrieve the resource.
      ResourceManager rm = new ResourceManager("ExampleResources" , 
                               typeof(Example).Assembly);
      string greeting = rm.GetString("Greeting");

      Console.Write("Enter your name: ");
      string name = Console.ReadLine();
      Console.WriteLine("{0} {1}!", greeting, name);
   }
}
// The example produces output similar to the following: 
//       Enter your name: John 
//       Hello John!

It can be compiled by using the following command in Visual Basic:

vbc Example.vb /resource:ExampleResources.resources

or by using the following command in C#:

csc Example.cs /resource:ExampleResources.resources

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0

Date

History

Reason

January 2011

Replaced the example.

Customer feedback.

September 2010

Expanded the baseName parameter description and the Remarks section.

Customer feedback.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft