Hi,

this is how I handle conversions .NET <=> Java. Don't know if it's the best
pratice or it's elegant, anyway it works and it's easy to use :)

I'm using extension methods to extend Java.Lang.Object and .NET objects 

namespace PutYour.NameSpace.Here
{
        using System;
        
        using Java.Lang;
        
        internal class JavaHolder : Java.Lang.Object
        {
                public readonly object Instance;
                
                public JavaHolder(object instance)
                {
                        this.Instance = instance;
                }
        }       
        
        public static class ObjectExtension
        {
                public static TObject ToNetObject<TObject>(this 
Java.Lang.Object value)
                {
                        if(value == null)
                                return default(TObject);
                        
                        if(!(value is JavaHolder))
                                throw new InvalidOperationException("Unable to 
convert to .NET object.
Only Java.Lang.Object created with .ToJavaObject() can be converted.");
                        
                        return 
                                (TObject)((JavaHolder)value).Instance;
                }
                
                public static Java.Lang.Object ToJavaObject<TObject>(this 
TObject value)
                {
                        if(value == null)
                                return null;
                        
                        var holder = new JavaHolder(value);                     
                

                        return 
                                (Java.Lang.Object)holder;
                }
        }
}

--
View this message in context: 
http://mono-for-android.1047100.n5.nabble.com/Convert-net-type-to-Java-Lang-Object-how-tp5710021p5710144.html
Sent from the Mono for Android mailing list archive at Nabble.com.
_______________________________________________
Monodroid mailing list
[email protected]

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to