다음을 통해 공유


ManagementClass.GetStronglyTypedClassCode 메서드

정의

지정된 WMI 클래스에 대한 강력한 형식의 클래스를 생성합니다.

오버로드

GetStronglyTypedClassCode(Boolean, Boolean)

지정된 WMI 클래스에 대한 강력한 형식의 클래스를 생성합니다.

GetStronglyTypedClassCode(CodeLanguage, String, String)

지정된 WMI 클래스에 대한 강력한 형식의 클래스를 생성합니다. 이 함수는 입력 매개 변수에 따라 Visual Basic, C#, JScript, J# 또는 C++용 코드를 생성합니다.

설명

.NET Framework 보안

직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분적으로 신뢰할 수 있는 코드에서 라이브러리를 사용 하 여입니다.

GetStronglyTypedClassCode(Boolean, Boolean)

Source:
ManagementClass.cs
Source:
ManagementClass.cs
Source:
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)

Source:
ManagementClass.cs
Source:
ManagementClass.cs
Source:
ManagementClass.cs

지정된 WMI 클래스에 대한 강력한 형식의 클래스를 생성합니다. 이 함수는 입력 매개 변수에 따라 Visual Basic, C#, JScript, J# 또는 C++용 코드를 생성합니다.

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 보안

직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분적으로 신뢰할 수 있는 코드에서 라이브러리를 사용 하 여입니다.

적용 대상