1. Getting started
- 1.1. Installing Javonet
- 1.2. Activating Javonet
- 1.3. Adding References to .NET Libraries
- 1.4. XML Configuration File
- 1.5. Using the Javonet Fluent Interface
- 1.7. Introduction to Using .NET Back-end and UI Components in Java
2. Calling methods
- 2.1. Invoking Static Methods
- 2.2. Creating Instance and Calling Instance Methods
- 2.3. Calling Generic Methods
3. Working with .NET Objects
- 3.1. Creating Instance Of Generic Object
- 3.2. Extending the .NET Class in Java and Wrapping .NET Methods
4. Fields and Properties
- 4.1. Get/Set Values for Static Fields and Properties
- 4.2. Get/Set Values for Instance Fields and Properties
5. Methods Arguments
- 5.1. Passing Reference-Type Arguments
- 5.2. Passing Arguments by Reference with “ref” and “out” Keywords
- 5.3. Passing typeof(Type) as Method Argument
- 5.4. Calling Overloaded Method Passing Null Argument
6. Nested Types
7. Enums
8. Arrays and Collections
- 8.1. Arrays: Using Value-Type and Reference-Type Arrays
- 8.2. Working with .NET arrays and collections from Java with Javonet
9. Embeding UI controls
10. Referencing libraries
11. Off-line activation
12. Events and Delegates
13. Disposing and Garabage Collection
14. .NET Configuration Files (AppConfig, WebConfig)
15. Exceptions, Debugging and Testing
- 15.. Handling Activation Issues
- 15.1. Handling .NET Exceptions
- 15.2. How to debug .NET code called from Java
- 15.3. Debugging Javonet Enabled Application
16. Strongly-Typed Wrappers
17. Advanced Activation and Licensing
- 17.1. Runtime vs. Offline vs. Compile Time Activation
- 17.2. Project Activation Tool
- 17.6. Delegating Activation Server
18 Other usage scenarios
Passing typeof(Type) as Method Argument
If target .NET methods expects “Type” as argument, which is being called in .NET using Method(typeof(Some_Type)) syntax, you can call such method with NType object as argument.
Javonet introduces “NType” class to store .NET Type. To retrieve the instance of particular .NET type as counterpart of typeof(String) you should use Javonet.getType(“String”) method. The “getType(String typeName)” method is static method on Javonet class which accepts in first argument the name of .NET type and returns the instance of NType class connected to the Type object of provided type. Type name argument might contain either type name or type name with full namespace. If there is only one type with selected name in loaded assemblies then Javonet will lookup the namespace automatically otherwise full namespace should be provided or exception will be thrown.
How to pass typeof(Type) as method argument
Sample method in .NET
public void PassTypeArg(Type myType) { Console.Out.WriteLine(myType.ToString()); }
Usage in Java
NObject sampleObj = Javonet.New("Sample"); sampleObj.invoke("PassTypeArg",Javonet.getType("String")); //or NType typeOfString = Javonet.getType("String"); sampleObj.invoke("PassTypeArg",typeOfString);