https://bugzilla.novell.com/show_bug.cgi?id=343869
User [email protected] added comment https://bugzilla.novell.com/show_bug.cgi?id=343869#c8 --- Comment #8 from Robert Sevcik <[email protected]> 2009-02-17 07:46:10 MST --- Okay, it seems it has not been included in 1.2.6+dfsg (ubuntu 8.04) I came up with an ugly workaround in my method if anyone's interested. protected virtual ResultT Convert<ResultT>(XPathNavigator nav) { Type resultType = typeof(ResultT); ConstructorInfo ctor = null; if(resultType.IsClass) ctor = resultType.GetConstructor(new Type[] { typeof(XPathNavigator) }); ResultT result; if (ctor != null) result = (ResultT)ctor.Invoke(new object[] { nav.Clone() }); else if (resultType.Equals(typeof(XPathNavigator))) result = (ResultT)(object)nav.Clone(); else { try { // not implemented in mono 1.2.6 https://bugzilla.novell.com/show_bug.cgi?id=343869 result = (ResultT)nav.ValueAs(resultType); } catch(NotImplementedException x) { switch(resultType.FullName) { case "System.String": result = (ResultT) (object) nav.ToString(); break; case "System.Boolean": result = (ResultT) (object) nav.ValueAsBoolean; break; case "System.Int32": result = (ResultT) (object) nav.ValueAsInt; break; case "System.Int64": result = (ResultT) (object) nav.ValueAsLong; break; case "System.Double": result = (ResultT) (object) nav.ValueAsDouble; break; default: throw new NotImplementedException(String.Format("Conversion to {0} is not implemented.", resultType.FullName), x); } } } return result; } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
