खोज…


परिचय

यह विषय संक्षेप में वर्णन करने के लिए है कि कैसे C # या VB .NET प्रबंधित कोड को स्क्रिप्ट और PowerShell स्क्रिप्ट में उपयोग किया जा सकता है। यह विषय ऐड-टाइप cmdlet के सभी पहलुओं की खोज नहीं कर रहा है।

ऐड-टाइप cmdlet के बारे में अधिक जानकारी के लिए, कृपया यहाँ MSDN प्रलेखन (5.1 के लिए) देखें : https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility.add- प्रकार

पैरामीटर

पैरामीटर विवरण
-TypeDefinition <String_> कोड को एक स्ट्रिंग के रूप में स्वीकार करता है
-Language <String_> प्रबंधित कोड भाषा निर्दिष्ट करता है। स्वीकृत मान: CSharp, CSharpVersion3, CSharpVersion2, VisualBasic, JScript

टिप्पणियों

जोड़ा प्रकार निकाल रहा है

PowerShell के बाद के संस्करणों में, PowerShell cmdlet पुस्तकालयों में Remove-TypeData को जोड़ा गया है जो एक सत्र के भीतर एक प्रकार को हटाने की अनुमति दे सकता है। इस cmdlet पर अधिक जानकारी के लिए, यहां जाएं : https://msdn.microsoft.com/en-us/powershell/reference/4.0/microsoft.powershell.utility/remove-typedata

CSharp और .NET सिंटैक्स

.NET के साथ अनुभव करने वालों के लिए यह कहे बिना जाता है कि C # के अलग-अलग संस्करण कुछ निश्चित सिंटैक्स के समर्थन में उनके स्तर में काफी भिन्न हो सकते हैं।

यदि Powershell 1.0 और / या-लंगोट CSharp का उपयोग किया जाता है, तो प्रबंधित कोड .NET 2.0 का उपयोग करेगा जिसमें कई विशेषताओं का अभाव है, जो C # डेवलपर्स आमतौर पर इन दिनों एक दूसरे विचार के बिना उपयोग करते हैं, जैसे कि Generics, Linq और Lambda। इसके शीर्ष पर औपचारिक बहुरूपता है, जिसे C # / NET के बाद के संस्करणों में डिफ़ॉल्ट मापदंडों से नियंत्रित किया जाता है।

C # उदाहरण

यह उदाहरण दिखाता है कि कुछ मूल C # को PowerShell स्क्रिप्ट में कैसे एम्बेड करें, इसे रनस्पेस / सत्र में जोड़ें और PowerShell वाक्यविन्यास के भीतर कोड का उपयोग करें।

$code = "
using System;

namespace MyNameSpace
{
    public class Responder
    {
        public static void StaticRespond()
        {
            Console.WriteLine("Static Response");
        }

        public void Respond()
        {
            Console.WriteLine("Instance Respond");
        }
    }
}
"@

# Check the type has not been previously added within the session, otherwise an exception is raised
if (-not ([System.Management.Automation.PSTypeName]'MyNameSpace.Responder').Type)
{
    Add-Type -TypeDefinition $code -Language CSharp;
}

[MyNameSpace.Responder]::StaticRespond();

$instance = New-Object MyNameSpace.Responder;
$instance.Respond();

VB.NET उदाहरण

यह उदाहरण दिखाता है कि कुछ मूल C # को PowerShell स्क्रिप्ट में कैसे एम्बेड करें, इसे रनस्पेस / सत्र में जोड़ें और PowerShell वाक्यविन्यास के भीतर कोड का उपयोग करें।

$code = @"
Imports System

Namespace MyNameSpace
    Public Class Responder
        Public Shared Sub StaticRespond()
            Console.WriteLine("Static Response")
        End Sub

        Public Sub Respond()
            Console.WriteLine("Instance Respond")
        End Sub
    End Class
End Namespace
"@

# Check the type has not been previously added within the session, otherwise an exception is raised
if (-not ([System.Management.Automation.PSTypeName]'MyNameSpace.Responder').Type)
{
    Add-Type -TypeDefinition $code -Language VisualBasic;
}

[MyNameSpace.Responder]::StaticRespond();

$instance = New-Object MyNameSpace.Responder;
$instance.Respond();


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow