public static XamlPropertyName Parse (string longName)
{
string str;
string str2;
if (string.IsNullOrEmpty(longName)) {
return null;
}
if (!XamlQualifiedName.Parse(longName, out str, out str2)) {
return null;
}
int startIndex = 0;
string str3 = string.Empty;
int index = str2.IndexOf('.');
if (index != -1) {
str3 = str2.Substring(startIndex, index);
if (string.IsNullOrEmpty(str3)) {
return null;
}
startIndex = index + 1;
}
string str4 = (startIndex == 0) ? str2 : str2.Substring(startIndex);
XamlQualifiedName owner = null;
if (!string.IsNullOrEmpty(str3)) {
owner = new XamlQualifiedName(str, str3);
}
return new XamlPropertyName(owner, str, str4);
}