ManagementClass.GetStronglyTypedClassCode Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Gera uma classe fortemente tipada para uma dada classe WMI.
Sobrecargas
| Name | Description |
|---|---|
| GetStronglyTypedClassCode(Boolean, Boolean) |
Gera uma classe fortemente tipada para uma dada classe WMI. |
| GetStronglyTypedClassCode(CodeLanguage, String, String) |
Gera uma classe fortemente tipada para uma dada classe WMI. Esta função gera código para Visual Basic, C#, JScript, J# ou C++, dependendo dos parâmetros de entrada. |
Observações
Segurança do .NET Framework
Confiança total no contacto imediato. Este membro não pode ser utilizado por código parcialmente confiável. Para mais informações, consulte Utilização de Bibliotecas de Código Parcialmente Confiável.
GetStronglyTypedClassCode(Boolean, Boolean)
Gera uma classe fortemente tipada para uma dada 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 gerir propriedades do sistema; caso contrário, false.
- systemPropertyClass
- Boolean
true para que a classe gerada gere propriedades do sistema; caso contrário, false.
Devoluções
A representando CodeTypeDeclaration a declaração para a classe fortemente tipada.
Exemplos
O exemplo seguinte 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
Observações
Segurança do .NET Framework
Confiança total no contacto imediato. Este membro não pode ser utilizado por código parcialmente confiável. Para mais informações, consulte Utilização de Bibliotecas de Código Parcialmente Confiável.
Aplica-se a
GetStronglyTypedClassCode(CodeLanguage, String, String)
Gera uma classe fortemente tipada para uma dada classe WMI. Esta 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
A linguagem do código a gerar. Esta linguagem de código provém da CodeLanguage enumeração.
- filePath
- String
O caminho do ficheiro onde o código deve ser escrito.
- classNamespace
- String
O espaço de nomes .NET no qual a classe deve ser gerada. Se este estiver vazio, o namespace será gerado a partir do namespace WMI.
Devoluções
true, se o método tivesse sucesso; caso contrário, false.
Exemplos
O exemplo seguinte gera uma classe fortemente tipada para a classe Win32_LogicalDisk . O código gerado está em C# para o exemplo de C# e Visual Basic .NET para o exemplo 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
Observações
Segurança do .NET Framework
Confiança total no contacto imediato. Este membro não pode ser utilizado por código parcialmente confiável. Para mais informações, consulte Utilização de Bibliotecas de Código Parcialmente Confiável.