mirror of
https://github.com/aphrody-labs/PowerShell.git
synced 2026-10-17 20:56:02 +00:00
67 lines
2.1 KiB
C#
67 lines
2.1 KiB
C#
using System.Globalization;
|
|
using System.Management.Automation.SecurityAccountsManager.Native;
|
|
|
|
namespace System.Management.Automation.SecurityAccountsManager
|
|
{
|
|
/// <summary>
|
|
/// Contains utility functions for formatting localizable strings
|
|
/// </summary>
|
|
internal class StringUtil
|
|
{
|
|
/// <summary>
|
|
/// Private constructor to precent auto-generation of a default constructor with greater accessability.
|
|
/// </summary>
|
|
private StringUtil()
|
|
{
|
|
}
|
|
|
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
internal static string Format(string str)
|
|
{
|
|
return string.Format(CultureInfo.CurrentCulture, str);
|
|
}
|
|
|
|
internal static string Format(string fmt, string p0)
|
|
{
|
|
return string.Format(CultureInfo.CurrentCulture, fmt, p0);
|
|
}
|
|
|
|
internal static string Format(string fmt, string p0, string p1)
|
|
{
|
|
return string.Format(CultureInfo.CurrentCulture, fmt, p0, p1);
|
|
}
|
|
|
|
internal static string Format(string fmt, uint p0)
|
|
{
|
|
return string.Format(CultureInfo.CurrentCulture, fmt, p0);
|
|
}
|
|
internal static string Format(string fmt, int p0)
|
|
{
|
|
return string.Format(CultureInfo.CurrentCulture, fmt, p0);
|
|
}
|
|
|
|
internal static string FormatMessage(uint messageId, string[] args)
|
|
{
|
|
var message = new System.Text.StringBuilder(256);
|
|
UInt32 flags = Win32.FORMAT_MESSAGE_FROM_SYSTEM;
|
|
|
|
if (args == null)
|
|
flags |= Win32.FORMAT_MESSAGE_IGNORE_INSERTS;
|
|
else
|
|
flags |= Win32.FORMAT_MESSAGE_ARGUMENT_ARRAY;
|
|
|
|
var length = Win32.FormatMessage(flags, IntPtr.Zero, messageId, 0, message, 256, args);
|
|
|
|
if (length > 0)
|
|
return message.ToString();
|
|
|
|
return null;
|
|
}
|
|
|
|
internal static string GetSystemMessage(uint messageId)
|
|
{
|
|
return FormatMessage(messageId, null);
|
|
}
|
|
}
|
|
}
|