Files
2026-02-21 16:45:37 +08:00

71 lines
1.5 KiB
C#

using System;
public class Region
{
public CloudRegionCode Code;
public string Cluster;
public string HostAndPort;
public int Ping;
public Region(CloudRegionCode code)
{
Code = code;
Cluster = code.ToString();
}
public Region(CloudRegionCode code, string regionCodeString, string address)
{
Code = code;
Cluster = regionCodeString;
HostAndPort = address;
}
public static CloudRegionCode Parse(string codeAsString)
{
if (codeAsString == null)
{
return CloudRegionCode.none;
}
int num = codeAsString.IndexOf('/');
if (num > 0)
{
codeAsString = codeAsString.Substring(0, num);
}
codeAsString = codeAsString.ToLower();
if (Enum.IsDefined(typeof(CloudRegionCode), codeAsString))
{
return (CloudRegionCode)Enum.Parse(typeof(CloudRegionCode), codeAsString);
}
return CloudRegionCode.none;
}
internal static CloudRegionFlag ParseFlag(CloudRegionCode region)
{
if (Enum.IsDefined(typeof(CloudRegionFlag), region.ToString()))
{
return (CloudRegionFlag)Enum.Parse(typeof(CloudRegionFlag), region.ToString());
}
return (CloudRegionFlag)0;
}
[Obsolete]
internal static CloudRegionFlag ParseFlag(string codeAsString)
{
codeAsString = codeAsString.ToLower();
CloudRegionFlag result = (CloudRegionFlag)0;
if (Enum.IsDefined(typeof(CloudRegionFlag), codeAsString))
{
result = (CloudRegionFlag)Enum.Parse(typeof(CloudRegionFlag), codeAsString);
}
return result;
}
public override string ToString()
{
return string.Format("'{0}' \t{1}ms \t{2}", Cluster, Ping, HostAndPort);
}
}