internal static string ConvertXamlTypeToString(ITypeDescriptorContext context, XamlType xamlType) { var prefixLookup = GetService <INamespacePrefixLookup>(context); if (prefixLookup == null) { return(null); } XamlTypeName typeName = new XamlTypeName(xamlType); return(typeName.ToString(prefixLookup)); }
public void ToStringNamespaceLookup () { var n = new XamlTypeName ("urn:foo", "Foo", new XamlTypeName [] {new XamlTypeName ("urn:bar", "Bar"), new XamlTypeName ("urn:baz", "Baz")}); var lookup = new MyNamespaceLookup (); lookup.Add ("a", "urn:foo"); lookup.Add ("b", "urn:bar"); lookup.Add ("c", "urn:baz"); Assert.AreEqual ("a:Foo(b:Bar, c:Baz)", n.ToString (lookup), "#1"); Assert.AreEqual ("b:Bar, c:Baz", XamlTypeName.ToString (n.TypeArguments, lookup), "#2"); }
public void ToStringNullLookup () { var n = new XamlTypeName ("urn:foo", "Foo", new XamlTypeName [] {new XamlTypeName ("urn:bar", "Bar"), new XamlTypeName ("urn:baz", "Baz")}); Assert.AreEqual ("{urn:foo}Foo({urn:bar}Bar, {urn:baz}Baz)", n.ToString (null), "#1"); }
public void ToStringNamespaceLookupInsufficient () { var n = new XamlTypeName ("urn:foo", "Foo", new XamlTypeName [] {new XamlTypeName ("urn:bar", "Bar"), new XamlTypeName ("urn:baz", "Baz")}); var lookup = new MyNamespaceLookup (); lookup.Add ("a", "urn:foo"); lookup.Add ("c", "urn:baz"); // it fails because there is missing mapping for urn:bar. Assert.AreEqual ("a:Foo({urn:bar}Bar, c:Baz)", n.ToString (lookup), "#1"); }
public void ToStringXamlTypePredefined () { var n = new XamlTypeName (XamlLanguage.Int32); Assert.AreEqual ("{http://schemas.microsoft.com/winfx/2006/xaml}Int32", n.ToString (), "#1"); }
public void ToStringEmptyNamespace () { var n = new XamlTypeName (string.Empty, "Foo"); Assert.AreEqual ("{}Foo", n.ToString (), "#1"); }
public void ToStringTypeArguments2 () { var n = new XamlTypeName ("urn:foo", "Foo", new XamlTypeName [] {new XamlTypeName ("urn:bar", "Bar"), new XamlTypeName ("urn:baz", "Baz")}); Assert.AreEqual ("{urn:foo}Foo({urn:bar}Bar, {urn:baz}Baz)", n.ToString (), "#1"); }
public void ToStringTypeArgumentsNullEntry () { var n = new XamlTypeName ("urn:foo", "FooBar", new XamlTypeName [] {null, new XamlTypeName ("urn:bar", "FooBarBaz")}); Assert.AreEqual ("{urn:foo}FooBar()", n.ToString (), "#1"); }
public void ToStringTypeArgumentsNull () { var n = new XamlTypeName ("urn:foo", "FooBar", (XamlTypeName []) null); Assert.AreEqual ("{urn:foo}FooBar", n.ToString (), "#1"); }
public void ToStringNamespaceNull () { // allowed. var n = new XamlTypeName (null, "FooBar"); n.ToString (); }
public void ToStringNameNull () { var n = new XamlTypeName ("urn:foo", null); n.ToString (); }
public void ToStringDefault () { var n = new XamlTypeName (); n.ToString (); }