Example #1
0
 public MethodInf(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory)
 {
     _name = reader.ReadString();
     _ifaceName = reader.ReadString();
     var resultFieldHandlerName = reader.ReadString();
     if (resultFieldHandlerName != null)
     {
         _resultFieldHandler = fieldHandlerFactory.CreateFromName(resultFieldHandlerName, reader.ReadByteArray(), FieldHandlerOptions.None);
     }
     var parameterCount = reader.ReadVUInt32();
     _parameters = new ParameterInf[parameterCount];
     for (int i = 0; i < _parameters.Length; i++)
     {
         _parameters[i] = new ParameterInf(reader, fieldHandlerFactory);
     }
 }
Example #2
0
 public MethodInf(MethodInfo method, IFieldHandlerFactory fieldHandlerFactory)
 {
     MethodInfo = method;
     _name = method.Name;
     foreach (var itf in GetInterfacesForMethod(method.DeclaringType, method.GetBaseDefinition()))
     {
         _ifaceName = itf.Name;
         break;
     }
     var syncReturnType = method.ReturnType.UnwrapTask();
     if (syncReturnType != typeof(void))
         _resultFieldHandler = fieldHandlerFactory.CreateFromType(syncReturnType, FieldHandlerOptions.None);
     var parameterInfos = method.GetParameters();
     _parameters = new ParameterInf[parameterInfos.Length];
     for (int i = 0; i < parameterInfos.Length; i++)
     {
         _parameters[i] = new ParameterInf(parameterInfos[i], fieldHandlerFactory);
     }
 }