ManagementClass.GetStronglyTypedClassCode Método

Definição

Gera uma classe fortemente tipada para uma determinada classe WMI.

Sobrecargas

Nome Description
GetStronglyTypedClassCode(Boolean, Boolean)

Gera uma classe fortemente tipada para uma determinada classe WMI.

GetStronglyTypedClassCode(CodeLanguage, String, String)

Gera uma classe fortemente tipada para uma determinada classe WMI. Essa função gera código para Visual Basic, C#, JScript, J#ou C++ dependendo dos parâmetros de entrada.

Comentários

Segurança do .NET Framework

Confiança total para o chamador imediato. Esse membro não pode ser usado por um código parcialmente confiável. Para obter mais informações, consulte Como usar bibliotecas de código parcialmente confiável.

GetStronglyTypedClassCode(Boolean, Boolean)

Gera uma classe fortemente tipada para uma determinada classe WMI.

public:
 System::CodeDom::CodeTypeDeclaration ^ GetStronglyTypedClassCode(bool includeSystemClassInClassDef, bool systemPropertyClass);
public System.CodeDom.CodeTypeDeclaration GetStronglyTypedClassCode(bool includeSystemClassInClassDef, bool systemPropertyClass);
member this.GetStronglyTypedClassCode : bool * bool -> System.CodeDom.CodeTypeDeclaration
Public Function GetStronglyTypedClassCode (includeSystemClassInClassDef As Boolean, systemPropertyClass As Boolean) As CodeTypeDeclaration

Parâmetros

includeSystemClassInClassDef
Boolean

true para incluir a classe para gerenciar propriedades do sistema; caso contrário, false.

systemPropertyClass
Boolean

true para que a classe gerada gerencie as propriedades do sistema; caso contrário, false.

Retornos

Uma CodeTypeDeclaration representação da declaração para a classe fortemente tipada.

Exemplos

O exemplo a seguir gera uma classe fortemente tipada para a classe Win32_LogicalDisk . O código gerado é produzido em C# ou 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();
        }
    }
}
Imports System.Management
Imports System.CodeDom
Imports System.IO
Imports System.CodeDom.Compiler
Imports System.Security.Permissions

Namespace Sample

    <EnvironmentPermissionAttribute(SecurityAction.LinkDemand)> _
    Public Class GenerateVBCode

        <EnvironmentPermissionAttribute(SecurityAction.LinkDemand)> _
                Public Overloads Shared Function _
                    Main(ByVal args() As String) As Integer

            Dim strFilePath As String
            strFilePath = "C:\temp\LogicalDisk.vb"
            Dim ClsDom As CodeTypeDeclaration

            Dim cls1 As ManagementClass
            cls1 = New ManagementClass( _
                Nothing, "Win32_LogicalDisk", Nothing)
            ClsDom = cls1.GetStronglyTypedClassCode(False, False)


            Dim cg As ICodeGenerator
            cg = (New VBCodeProvider).CreateGenerator()
            Dim cn As 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)
            Dim tw As TextWriter
            tw = New StreamWriter(New _
                FileStream(strFilePath, FileMode.Create))

            Dim options As New CodeGeneratorOptions
            ' And write it to the file
            cg.GenerateCodeFromNamespace( _
            cn, tw, options)

            tw.Close()

        End Function
    End Class
End Namespace

Comentários

Segurança do .NET Framework

Confiança total para o chamador imediato. Esse membro não pode ser usado por um código parcialmente confiável. Para obter mais informações, consulte Como usar bibliotecas de código parcialmente confiável.

Aplica-se a

GetStronglyTypedClassCode(CodeLanguage, String, String)

Gera uma classe fortemente tipada para uma determinada classe WMI. Essa função gera código para Visual Basic, C#, JScript, J#ou C++ dependendo dos parâmetros de entrada.

public:
 bool GetStronglyTypedClassCode(System::Management::CodeLanguage lang, System::String ^ filePath, System::String ^ classNamespace);
public bool GetStronglyTypedClassCode(System.Management.CodeLanguage lang, string filePath, string classNamespace);
member this.GetStronglyTypedClassCode : System.Management.CodeLanguage * string * string -> bool
Public Function GetStronglyTypedClassCode (lang As CodeLanguage, filePath As String, classNamespace As String) As Boolean

Parâmetros

lang
CodeLanguage

O idioma do código a ser gerado. Esse idioma de código vem da CodeLanguage enumeração.

filePath
String

O caminho do arquivo em que o código deve ser gravado.

classNamespace
String

O namespace .NET no qual a classe deve ser gerada. Se estiver vazio, o namespace será gerado a partir do namespace WMI.

Retornos

true, se o método tiver sido bem-sucedido; caso contrário, false.

Exemplos

O exemplo a seguir gera uma classe fortemente tipada para a classe Win32_LogicalDisk . O código gerado está em C# para o exemplo C# e Visual Basic .NET para o exemplo de 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)
        {
            ManagementClass cls1 = new ManagementClass(
                null, "Win32_LogicalDisk",null);
            cls1.GetStronglyTypedClassCode(
                CodeLanguage.CSharp,
                "C:\\temp\\Logicaldisk.cs",
                String.Empty);
        }
    }
}
Imports System.Management
Imports System.CodeDom
Imports System.IO
Imports System.CodeDom.Compiler

Class GenerateVBCode

    Public Overloads Shared Function _
        Main(ByVal args() As String) As Integer

        Dim cls1 As ManagementClass
        cls1 = New ManagementClass( _
            Nothing, "Win32_LogicalDisk", Nothing)
        cls1.GetStronglyTypedClassCode( _
            CodeLanguage.VB, _
            "C:\temp\Logicaldisk.vb", _
            String.Empty)

    End Function
End Class

Comentários

Segurança do .NET Framework

Confiança total para o chamador imediato. Esse membro não pode ser usado por um código parcialmente confiável. Para obter mais informações, consulte Como usar bibliotecas de código parcialmente confiável.

Aplica-se a