dcsimg
Convert C# Optional Arguments to java Online using CodePorting App
0 posts in topic
Thread View Thread View
TOPIC ACTIONS:
 

Convert C# Optional Arguments to java Online using...
zarfishan
Tue Jun 26, 2012 10:44 PM

Codeporting C#2java Engine converts C# optional arguments to java in such a way that they remain usable in generated java code which helps developers in a lot of ways.  It can be specified from the definition of a constructor, method, indexer or delegate that its parameters are required or they are optional.  Arguments must be provided for required parameters but they can be omitted for the optional parameters. If no Argument is sent for the optional parameter its default value is used. CodePorting C#2Java engine automatically handle this overload intelligently.

 

Following example shows how CodePorting automatically converts C# optional arguments to java:

C# Code:

			using
			System
			;
			
		
			namespace CsPorter.
			Tests
			.
			Convert
			.
			DefaultParameters
			
		
			{
			
		
			   
			class
			DefParamerters
		
			   
			{
			
		
			       
			static
			
			
				void
			
			Main
			(
			string
			[]
			args
			)
			
		
			       
			{
			
		
			            ExampleClass anExample
			=
			
			new
			ExampleClass
			(
			"Test"
			)
			;
			
		
			            anExample.
			ExampleMethod
			(
			1
			,
			"One"
			,
			1
			)
			;
			
		
			            anExample.
			ExampleMethod
			(
			2
			,
			"Two"
			)
			;
			
		
			            anExample.
			ExampleMethod
			(
			3
			)
			;
			
		
			            ExampleClass anotherExample
			=
			
			new
			ExampleClass
			(
			"Provided name"
			)
			;
			
		
			            anotherExample.
			ExampleMethod
			(
			1
			,
			"One"
			,
			1
			)
			;
			
		
			            anotherExample.
			ExampleMethod
			(
			2
			,
			"Two"
			)
			;
			
		
			            anotherExample.
			ExampleMethod
			(
			3
			)
			;
			
		
			 
		
			       
			}
			
		
			   
			}
			
		
			 
		
			   
			class
			ExampleClass
		
			   
			{
			
		
			       
			private
			string _name
			;
			
		
			       
			public
			ExampleClass
			(
			string name
			=
			
			"Default name"
			)
			
		
			       
			{
			
		
			            _name
			=
			name
			;
			
		
			       
			}
			
		
			 
		
			       
			public
			
			
				void
			
			ExampleMethod
			(
			
				int
			
			required, string optionalstr
			=
			
			"default string"
			,
		
			           
			
				int
			
			optionalint
			=
			
			10
			)
			
		
			       
			{
			
		
			            Console.
			WriteLine
			(
			optionalstr
			)
			;
			
		
			       
			}
			
		
			   
			}
			
		
			}
			
		

 

Java Code Generated by CodePorting:

 
			package
			
			CsPorter.Tests.Convert.DefaultParameters
			;
			
		
			 
		
			
				// ********* THIS FILE IS AUTO PORTED FORM C# USING CODEPORTING.COM *********
			
			
		
			 
		
			class
			Test1
			{
			
		
			        
			static
			
			
				void
			
			main
			(
			String
			[]
			args
			)
			
			{
			
		
			                 ExampleClass anExample
			=
			
			new
			ExampleClass
			(
			"Test"
			)
			;
			
		
			                 anExample.
			exampleMethod
			(
			1
			,
			"One"
			,
			1
			)
			;
			
		
			                 anExample.
			exampleMethod
			(
			2
			,
			"Two"
			)
			;
			
		
			                 anExample.
			exampleMethod
			(
			3
			)
			;
			
		
			                 ExampleClass anotherExample
			=
			
			new
			ExampleClass
			(
			"Provided name"
			)
			;
			
		
			                 anotherExample.
			exampleMethod
			(
			1
			,
			"One"
			,
			1
			)
			;
			
		
			                 anotherExample.
			exampleMethod
			(
			2
			,
			"Two"
			)
			;
			
		
			                 anotherExample.
			exampleMethod
			(
			3
			)
			;
			
		
			 
		
			        
			}
			
		
			}
			
		
			 
		
			class
			ExampleClass
			{
			
		
			        
			private
			
			String
			_name
			;
			
		
			 
		
			        
			public
			ExampleClass
			(
			String
			name
			)
			
			{
			
		
			                 _name
			=
			name
			;
			
		
			        
			}
			
		
			 
		
			        
			
				// Auto generated code to handle default paramters
			
			
		
			 
		
			        
			public
			
			
				void
			
			exampleMethod
			(
			
				int
			
			required
			)
			
			{
			
		
			                
			String
			optionalstr
			=
			
			"default string"
			;
			
		
			 
		
			                
			
				int
			
			optionalint
			=
			
			10
			;
			
		
			                 exampleMethod
			(
			required, optionalstr
			)
			;
			
		
			        
			}
			
		
			 
		
			        
			
				// Auto generated code to handle default paramters
			
			
		
			 
		
			        
			public
			
			
				void
			
			exampleMethod
			(
			
				int
			
			required,
			String
			optionalstr
			)
			
			{
			
		
			 
		
			                
			
				int
			
			optionalint
			=
			
			10
			;
			
		
			                 exampleMethod
			(
			required, optionalstr, optionalint
			)
			;
			
		
			        
			}
			
		
			 
		
			        
			public
			
			
				void
			
			exampleMethod
			(
			
				int
			
			required,
			String
			optionalstr,
			
				int
			
			optionalint
			)
			
			{
			
		
			                
			System
			.
			out
			.
			printf
			(
			optionalstr
			)
			;
			
		
			        
			}
			
		
			}
			
		

 

It is clear from the above example that CodePorting generates three overloads of exampleMethod which were required to handle optional arguments in Java.

About | Sitemap | Contact