ManagementClass.GetStronglyTypedClassCode Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает строго типизированный класс для заданного класса WMI.
Перегрузки
GetStronglyTypedClassCode(Boolean, Boolean) |
Создает строго типизированный класс для заданного класса WMI. |
GetStronglyTypedClassCode(CodeLanguage, String, String) |
Создает строго типизированный класс для заданного класса WMI. В зависимости от входных параметров эта функция создает программный код для Visual Basic, C#, JScript, J# или С++. |
Комментарии
Безопасность .NET Framework
Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из частично доверенного кода.
GetStronglyTypedClassCode(Boolean, Boolean)
- Исходный код:
- ManagementClass.cs
- Исходный код:
- ManagementClass.cs
- Исходный код:
- ManagementClass.cs
Создает строго типизированный класс для заданного класса 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
Параметры
- includeSystemClassInClassDef
- Boolean
Чтобы включить класс для управления системными свойствами, установите значение true
; в противном случае установите значение false
.
- systemPropertyClass
- Boolean
Чтобы создаваемый класс управлял системными свойствами, установите значение true
; в противном случае установите значение false
.
Возвращаемое значение
CodeTypeDeclaration, представляет объявление для строго типизированного класса.
Примеры
В следующем примере создается строго типизированный класс для класса Win32_LogicalDisk . Созданный код создается на C# или 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
Комментарии
Безопасность .NET Framework
Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из частично доверенного кода.
Применяется к
GetStronglyTypedClassCode(CodeLanguage, String, String)
- Исходный код:
- ManagementClass.cs
- Исходный код:
- ManagementClass.cs
- Исходный код:
- ManagementClass.cs
Создает строго типизированный класс для заданного класса WMI. В зависимости от входных параметров эта функция создает программный код для Visual Basic, C#, JScript, J# или С++.
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
Параметры
- lang
- CodeLanguage
Язык создаваемого программного кода. Язык кода извлекается из перечисления CodeLanguage.
- filePath
- String
Путь для записи файла кода.
- classNamespace
- String
Пространство имен .NET, в котором необходимо создать класс. Если этот параметр оставить пустым, пространство имен будет создано из пространства имен WMI.
Возвращаемое значение
Значение true
, если метод выполнен успешно; в противном случае — значение false
.
Примеры
В следующем примере создается строго типизированный класс для класса Win32_LogicalDisk . Созданный код находится на C# для примера C# и Visual Basic .NET для примера 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
Комментарии
Безопасность .NET Framework
Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из частично доверенного кода.