ManagementClass.GetStronglyTypedClassCode Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.