internal static BamlLocalizableResourceKey StringToResourceKey(string value)
{
int nameEnd = value.LastIndexOf(':');
if (nameEnd < 0)
{
throw new ArgumentException(StringLoader.Get("ResourceKeyFormatError"));
}
string name = value.Substring(0, nameEnd);
int classEnd = value.LastIndexOf('.');
if (classEnd < 0 || classEnd < nameEnd || classEnd == value.Length)
{
throw new ArgumentException(StringLoader.Get("ResourceKeyFormatError"));
}
string className = value.Substring(nameEnd + 1, classEnd - nameEnd - 1);
string propertyName = value.Substring(classEnd + 1);
return new BamlLocalizableResourceKey(
name,
className,
propertyName
);
}