StronglyTypedResourceBuilder.Create Method (IDictionary, String, String, String, CodeDomProvider, Boolean, String[])


Generates a class file that contains strongly typed properties that match the resources referenced in the specified collection.

Namespace:   System.Resources.Tools
Assembly:  System.Design (in System.Design.dll)

public static CodeCompileUnit Create(
	IDictionary resourceList,
	string baseName,
	string generatedCodeNamespace,
	string resourcesNamespace,
	CodeDomProvider codeProvider,
	bool internalClass,
	out string[] unmatchable


Type: System.Collections.IDictionary

An IDictionary collection where each dictionary entry key/value pair is the name of a resource and the value of the resource.

Type: System.String

The name of the class to be generated.

Type: System.String

The namespace of the class to be generated.

Type: System.String

The namespace of the resource to be generated.

Type: System.CodeDom.Compiler.CodeDomProvider

A CodeDomProvider object that provides the language in which the class will be generated.

Type: System.Boolean

true to generate an internal class; false to generate a public class.

Type: System.String[]

A String array that contains each resource name for which a property cannot be generated. Typically, a property cannot be generated because the resource name is not a valid identifier.

Return Value

Type: System.CodeDom.CodeCompileUnit

A CodeCompileUnit container.

Exception Condition

resourceList, basename, or codeProvider is null.


A resource node name does not match its key in resourceList.

This overload enables you to use the resourcesNamespace parameter to specify the namespace for the generated resources. In this case, the generated code appears as follows:

System.Resources.ResourceManager rm = new System.Resources.ResourceManager("<resourceNamespace>.<baseName>",typeof(baseName).Assembly);

In most cases, you do not need to call this method from your application code.

The StronglyTypedResourceBuilder class ignores any resource name that begins with the characters "$" or ">>". The resource names "Culture" and "ResourceManager" are invalid identifiers.

.NET Framework
Available since 2.0
Return to top