コード例 #1
0
ファイル: AssertEx.cs プロジェクト: bcrusu/jvm4csharp
 private static void IsValidJavaProxy(IJavaProxy proxy)
 {
     Assert.IsNotNull(proxy);
     Assert.IsNotNull(proxy.ProxyState);
     Assert.True(proxy.ProxyState.NativePtr != IntPtr.Zero);
     Assert.IsNotNull(proxy.ProxyState.Class);
     Assert.IsNotNull(proxy.ProxyState.Context);
 }
コード例 #2
0
ファイル: ProxyFactory.cs プロジェクト: bcrusu/jvm4csharp
        private bool TryActivateProxy(Class clazz, Type expectedProxyType, out IJavaProxy proxy)
        {
            Type proxyType;
            if (_jniEnvWrapper.JavaVm.JvmManager.ProxyRegistry.TryGetProxyType(clazz.InternalClassName, out proxyType))
            {
                if (proxyType.IsGenericTypeDefinition)
                    proxyType = proxyType.MakeGenericType(expectedProxyType.GenericTypeArguments);

                var proxyActivator = GetProxyActivator(proxyType);

                proxy = proxyActivator.CreateInstance(proxyType);
                return true;
            }

            proxy = null;
            return false;
        }