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
Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из частично доверенного кода.