if (m2.DeclaringType != null && m2.DeclaringType.ContentProperty == m2)
return -1;
- // compare collection kind
- var t1 = m1.Type;
- var t2 = m2.Type;
- int coll1 = t1.IsDictionary ? 3 : t1.IsCollection ? 2 : t1.IsArray ? 1 : 0;
- int coll2 = t2.IsDictionary ? 3 : t2.IsCollection ? 2 : t2.IsArray ? 1 : 0;
- if (coll1 != coll2)
- return coll2 - coll1;
-
// then, compare names.
return String.CompareOrdinal (m1.Name, m2.Name);
}
Assert.AreEqual (xm, xt.ContentProperty, "#1");
Assert.IsTrue (xt.GetAllMembers ().Contains (xm), "#2");
}
+
+ [Test]
+ public void NamedItem ()
+ {
+ var xt = new XamlType (typeof (NamedItem), sctx);
+ var e = xt.GetAllMembers ().GetEnumerator ();
+ Assert.IsTrue (e.MoveNext (), "#1");
+ Assert.AreEqual (xt.GetMember ("ItemName"), e.Current, "#2");
+ Assert.IsTrue (e.MoveNext (), "#3");
+ Assert.AreEqual (xt.GetMember ("References"), e.Current, "#4");
+ Assert.IsFalse (e.MoveNext (), "#5");
+ }
[Test]
public void CanAssignTo ()