Index: System.Data.SQLite/SQLiteFunction.cs
==================================================================
--- System.Data.SQLite/SQLiteFunction.cs
+++ System.Data.SQLite/SQLiteFunction.cs
@@ -1190,18 +1190,34 @@
string param2
);
/////////////////////////////////////////////////////////////////////////////
+#if !PLATFORM_COMPACTFRAMEWORK
+ ///
+ /// This class implements a SQLite function using a .
+ /// All the virtual methods of the class are
+ /// implemented using calls to the ,
+ /// , ,
+ /// and strongly typed delegate types
+ /// or via the method.
+ /// The arguments are presented in the same order they appear in
+ /// the associated methods with one exception:
+ /// the first argument is the name of the virtual method being implemented.
+ ///
+#else
///
/// This class implements a SQLite function using a .
/// All the virtual methods of the class are
- /// implemented using calls to the
- /// method. The arguments are presented in the same order they appear in
+ /// implemented using calls to the ,
+ /// , ,
+ /// and strongly typed delegate types.
+ /// The arguments are presented in the same order they appear in
/// the associated methods with one exception:
/// the first argument is the name of the virtual method being implemented.
///
+#endif
public class SQLiteDelegateFunction : SQLiteFunction
{
#region Private Constants
///
/// This error message is used by the overridden virtual methods when
@@ -1504,12 +1520,16 @@
{
return invokeDelegate.Invoke("Invoke", args); /* throw */
}
else
{
+#if !PLATFORM_COMPACTFRAMEWORK
return callback1.DynamicInvoke(
GetInvokeArgs(args, false)); /* throw */
+#else
+ throw new NotImplementedException();
+#endif
}
}
/////////////////////////////////////////////////////////////////////////
@@ -1550,17 +1570,21 @@
stepDelegate.Invoke(
"Step", args, stepNumber, ref contextData); /* throw */
}
else
{
+#if !PLATFORM_COMPACTFRAMEWORK
object[] newArgs = GetStepArgs(
args, stepNumber, contextData, false);
/* IGNORED */
callback1.DynamicInvoke(newArgs); /* throw */
UpdateStepArgs(newArgs, ref contextData, false);
+#else
+ throw new NotImplementedException();
+#endif
}
}
/////////////////////////////////////////////////////////////////////////
@@ -1594,12 +1618,16 @@
{
return finalDelegate.Invoke("Final", contextData); /* throw */
}
else
{
+#if !PLATFORM_COMPACTFRAMEWORK
return callback1.DynamicInvoke(GetFinalArgs(
contextData, false)); /* throw */
+#else
+ throw new NotImplementedException();
+#endif
}
}
/////////////////////////////////////////////////////////////////////////
@@ -1642,10 +1670,11 @@
return compareDelegate.Invoke(
"Compare", param1, param2); /* throw */
}
else
{
+#if !PLATFORM_COMPACTFRAMEWORK
object result = callback1.DynamicInvoke(GetCompareArgs(
param1, param2, false)); /* throw */
if (result is int)
return (int)result;
@@ -1652,10 +1681,13 @@
throw new InvalidOperationException(
UnsafeNativeMethods.StringFormat(
CultureInfo.CurrentCulture,
ResultInt32Error, "Compare"));
+#else
+ throw new NotImplementedException();
+#endif
}
}
#endregion
}