Собрание C# в Powershell - звонящий конструктор с enum params определенный в классе

Кажется, что проблема, которую я имею, не была покрыта никакой темой, или по крайней мере Я еще не нашел никого.

Я пытаюсь использовать собрание C#, на котором конструктор ожидает параметр типа счетчика это также определяется в классе.

    namespace Utils.Translate
{
    /// 
    /// Converts ASCII to EBCDIC or vice-versa
    /// 
    public class AsciiEbcdic
    {
       /// 
       /// The enumerator CharSet2Use determines which target character set to use.
       /// 
       public enum CharSet2Use 
       {
          A2E = 0,          //ASCII to EBCDIC
          E2A              //EBCDIC to ASCII
       };

      //Constructor
       public AsciiEbcdic( CharSet2Use whichSet )
       {
       }
    }
}

Никакая проблема, загружающая собрание:

[System.Reflection.Assembly]::LoadFile( "EbcdicAscii.dll" )

Однако, когда я пытаюсь иллюстрировать примерами его, с

$nameSpace = "Utils.Translate.EbcdicAscii"

$var = New-Object $nameSpace( [Utils.Translate.EbcdicAscii+Char2Set2Use]::A2E )

Я получаю ошибку:

Unable to find type [Utils.Translate.EbcdicAscii+Char2Set2Use]: make sure that the assembly containing this type is loaded.

Я также попробовал следующее:

$var = New-Object $nameSpace -ArgumentList [Utils.Translate.EbcdicAscii+Char2Set2Use]::A2E

Я получаю ошибку:

New-Object : Cannot find type [Utils.Translate.EbcdicAscii]: make sure the assembly containing this type is loaded.

Также испытанное прохождение параметра как A2E, 'A2E', 0, '0' напрасно.

Там какой-либо путь состоит в том, чтобы иллюстрировать примерами эту передачу объектов тип данных счетчика, определенный в классе?

0
nl ja de

1 ответы

У вас есть некоторая опечатка в вашем коде (имя класса и enum имя типа): После добавлять-тип :

вы написали:

$nameSpace = "Utils.Translate.EbcdicAscii"
$var = New-Object $nameSpace( [Utils.Translate.EbcdicAscii+Char2Set2Use]::A2E )

но это - это:

$nameSpace = "Utils.Translate.AsciiEbcdic"
$var = New-Object $nameSpace( [Utils.Translate.AsciiEbcdic+CharSet2Use]::A2E )

или

$var = New-Object $nameSpace -ArgumentList A2E 

$var
Utils.Translate.AsciiEbcdic
2
добавлено
@VagaBond Глэд, чтобы помочь! Можно принять мой ответ и тех в другом к вопросам быть пользой ТАК пользователь;)
добавлено автор CB., источник
OMG, как смущение. I' ve смотрел на исходный код так долго, я просто полностью пропустил его. Это доказывает, что наличие кого-то проверяет, что вы кодируете, действительно полезно. Миллион благодарностей, C.B.
добавлено автор VagaBond, источник
PowerShellRus - о Powershell (и не только) на русском
PowerShellRus - о Powershell (и не только) на русском
418 участник(ов)

О Powershell на русском

PowerShell Pro
PowerShell Pro
75 участник(ов)

Чат, посвящённый языку PowerShell Правила чата: нет оффтопу, спаму, оскорблениям. Будьте вежливы к коллегам. Приятного общения! Книги можно найти по тегу #books