37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
|
|
using System;
|
|||
|
|
|
|||
|
|
namespace MainShell.Common
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> MessageKey <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public class LocalizedProcessException : Exception
|
|||
|
|
{
|
|||
|
|
public MessageKey FailureMessageKey { get; }
|
|||
|
|
|
|||
|
|
public string[] FailureMessageArguments { get; }
|
|||
|
|
|
|||
|
|
public LocalizedProcessException(MessageKey failureMessageKey, params string[] failureMessageArguments)
|
|||
|
|
: base(LanguageResourceHelper.Format(failureMessageKey, ConvertArguments(failureMessageArguments)))
|
|||
|
|
{
|
|||
|
|
FailureMessageKey = failureMessageKey;
|
|||
|
|
FailureMessageArguments = failureMessageArguments ?? Array.Empty<string>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static object[] ConvertArguments(string[] failureMessageArguments)
|
|||
|
|
{
|
|||
|
|
if (failureMessageArguments == null || failureMessageArguments.Length == 0)
|
|||
|
|
{
|
|||
|
|
return Array.Empty<object>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
object[] convertedArguments = new object[failureMessageArguments.Length];
|
|||
|
|
for (int i = 0; i < failureMessageArguments.Length; i++)
|
|||
|
|
{
|
|||
|
|
convertedArguments[i] = failureMessageArguments[i];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return convertedArguments;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|