42 lines
953 B
C#
42 lines
953 B
C#
using System;
|
|
using System.Reflection;
|
|
using NLua.Extensions;
|
|
|
|
namespace NLua.Method
|
|
{
|
|
class MethodCache
|
|
{
|
|
public MethodCache()
|
|
{
|
|
args = new object[0];
|
|
argTypes = new MethodArgs[0];
|
|
outList = new int[0];
|
|
}
|
|
private MethodBase _cachedMethod;
|
|
|
|
public MethodBase cachedMethod {
|
|
get
|
|
{
|
|
return _cachedMethod;
|
|
}
|
|
set
|
|
{
|
|
_cachedMethod = value;
|
|
var mi = value as MethodInfo;
|
|
|
|
if (mi != null)
|
|
{
|
|
IsReturnVoid = mi.ReturnType == typeof(void);
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool IsReturnVoid;
|
|
// List or arguments
|
|
public object[] args;
|
|
// Positions of out parameters
|
|
public int[] outList;
|
|
// Types of parameters
|
|
public MethodArgs[] argTypes;
|
|
}
|
|
} |