Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

ManagementClass.GetStronglyTypedClassCode Method (Boolean, Boolean)

Generates a strongly-typed class for a given WMI class.

Namespace:  System.Management
Assembly:  System.Management (in System.Management.dll)

public CodeTypeDeclaration GetStronglyTypedClassCode(
	bool includeSystemClassInClassDef,
	bool systemPropertyClass
)

Parameters

includeSystemClassInClassDef
Type: System.Boolean

true to include the class for managing system properties; otherwise, false.

systemPropertyClass
Type: System.Boolean

true to have the generated class manage system properties; otherwise, false.

Return Value

Type: System.CodeDom.CodeTypeDeclaration
A CodeTypeDeclaration representing the declaration for the strongly-typed class.

.NET Framework Security

Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.

The following example generates a strongly-typed class for the Win32_LogicalDisk class. The generated code is produced in C# or Visual Basic .NET.

using System;
using System.Management; 
using System.CodeDom;
using System.IO;
using System.CodeDom.Compiler;
using Microsoft.CSharp;

namespace ManagementSample
{
    class GenerateCSharpCode
    {
        static void Main(string[] args)
        {

            string strFilePath = "C:\\temp\\LogicalDisk.cs";
            CodeTypeDeclaration ClsDom;

            ManagementClass cls1 = 
                new ManagementClass(null,"Win32_LogicalDisk",null);
            ClsDom = cls1.GetStronglyTypedClassCode(false,false);

            ICodeGenerator cg = 
                (new CSharpCodeProvider()).CreateGenerator ();
            CodeNamespace cn = new CodeNamespace("TestNamespace");

            // Add any imports to the code
            cn.Imports.Add(
                new CodeNamespaceImport("System"));
            cn.Imports.Add(
                new CodeNamespaceImport("System.ComponentModel"));
            cn.Imports.Add(
                new CodeNamespaceImport("System.Management"));
            cn.Imports.Add(
                new CodeNamespaceImport("System.Collections"));

            // Add class to the namespace
            cn.Types.Add (ClsDom);

            // Now create the filestream (output file)
            TextWriter tw = new StreamWriter(new
                FileStream (strFilePath,FileMode.Create));

            // And write it to the file
            cg.GenerateCodeFromNamespace(
                cn, tw, new CodeGeneratorOptions());

            tw.Close();
        }
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft