在自定义异常类中设置(半)默认消息

时间:2019-12-11 15:45:06

标签: powershell class

我希望在PowerShell中使用一条几乎是默认消息的消息创建一个自定义异常,但该消息包含传递给该异常的其他一些参数。

我得到的最接近的信息如下,但这失败并显示以下错误-

  

“消息”是ReadOnly属性。

是否可以通过这种方式设置(半)默认消息?

class InvalidEnvironmentException : System.Exception
{
    [string]$Version
    [string]$Environment
    [string[]]$VersionTags

    InvalidEnvironmentException($Version, $Environment, $VersionTags) : base(){
        $this.Message = "Package version '{0}' cannont be deployed to environment '{1}'." -f $Version, $Environment
        $this.VersionTags = $VersionTags
    }
}

1 个答案:

答案 0 :(得分:2)

将您的自定义消息传递给基本构造函数:

using System;
using Microsoft.Management.Infrastructure; 

namespace newProgramm
{
    class Programm
    {
        static void Main(string[] args)
        {
            string Namespace = @"root\cimv2";
            CimSession curSession = CimSession.Create("localhost");

            IEnumerable<CimInstance> queryInstance = curSession.QueryInstances(Namespace, "WQL", "SELECT * FROM Win32_OperatingSystem");
            foreach (CimInstance qInst in queryInstance)
            {
                Console.WriteLine(...);
            }

        }
    }
}