﻿		#region Method #{MethodName}

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
        #{ReturnValueMarshalAs}
		private static extern #{ReturnTypeName} Export#{ThisName}_#{MethodName}_#{ValueName1}_#{ValueName2}(IntPtr _native,
			#{ValueMarshalAs1}#{ValueTypePrefix1}#{ValueTypeName1} #{ValueName1},
			#{ValueMarshalAs2}#{ValueTypePrefix2}#{ValueTypeName2} #{ValueName2});

		public #{TypeName} #{MethodName}(
			#{TypeName1} #{ValueName1},
			#{TypeName2} #{ValueName2})
		{
			return #{ReturnConvertBefore}Export#{ThisName}_#{MethodName}_#{ValueName1}_#{ValueName2}(Native,
				#{ConvertBefore1}#{ValueTypePrefix1}#{ValueName1}#{ConvertPost1},
				#{ConvertBefore2}#{ValueTypePrefix2}#{ValueName2}#{ConvertPost2})#{ReturnConvertPost};
		}
		
		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
        #{ReturnValueMarshalAs}
		private static extern #{ReturnTypeName} Export#{ThisName}_#{MethodName}_#{ValueName1}(IntPtr _native,
			#{ValueMarshalAs1}#{ValueTypePrefix1}#{ValueTypeName1} #{ValueName1});

		public #{TypeName} #{MethodName}(
			#{TypeName1} #{ValueName1})
		{
			return #{ReturnConvertBefore}Export#{ThisName}_#{MethodName}_#{ValueName1}(Native,
				#{ConvertBefore1}#{ValueTypePrefix1}#{ValueName1}#{ConvertPost1})#{ReturnConvertPost};
		}
		
		#endregion
