void AddPropertyProcedure(PropertyInfo property, MethodInfo method) { var handler = new ProcedureHandler(method, TypeUtils.GetNullable(property)); AddProcedure(new ProcedureSignature( Name, method.Name, NextProcedureId, property.GetDocumentation(), handler, TypeUtils.GetPropertyGameScene(property, gameScene))); }
public void Properties() { var handler = new ProcedureHandler(typeof(ProcedureHandlerTest).GetMethod("TestProcedure")); var parameters = handler.Parameters.ToList(); Assert.AreEqual(2, parameters.Count); Assert.AreEqual("x", parameters [0].Name); Assert.AreEqual("y", parameters [1].Name); Assert.AreEqual(typeof(int), parameters [0].Type); Assert.AreEqual(typeof(float), parameters [1].Type); Assert.IsFalse(parameters [0].HasDefaultValue); Assert.IsFalse(parameters [1].HasDefaultValue); Assert.AreEqual(typeof(float), handler.ReturnType); }
public void PropertiesDefaultArgument() { var handler = new ProcedureHandler(typeof(ProcedureHandlerTest).GetMethod("TestProcedureWithDefaultArg"), false); var parameters = handler.Parameters.ToList(); Assert.AreEqual(2, parameters.Count); Assert.AreEqual("x", parameters [0].Name); Assert.AreEqual("y", parameters [1].Name); Assert.AreEqual(typeof(int), parameters [0].Type); Assert.AreEqual(typeof(string), parameters [1].Type); Assert.IsFalse(parameters [0].HasDefaultValue); Assert.IsTrue(parameters [1].HasDefaultValue); Assert.AreEqual("foo", parameters [1].DefaultValue); Assert.AreEqual(typeof(string), handler.ReturnType); }
/// <summary> /// Add a property to the service for the given property annotated with the KRPCProperty attribute. /// </summary> public void AddProperty(PropertyInfo property) { TypeUtils.ValidateKRPCProperty(property); if (property.GetGetMethod() != null) { var method = property.GetGetMethod(); var handler = new ProcedureHandler(method); var attribute = "Property.Get(" + property.Name + ")"; AddProcedure(new ProcedureSignature(Name, method.Name, property.GetDocumentation(), handler, GameScene, attribute)); } if (property.GetSetMethod() != null) { var method = property.GetSetMethod(); var handler = new ProcedureHandler(method); var attribute = "Property.Set(" + property.Name + ")"; AddProcedure(new ProcedureSignature(Name, method.Name, property.GetDocumentation(), handler, GameScene, attribute)); } }
public void DefaultArguments() { var handler = new ProcedureHandler(typeof(ProcedureHandlerTest).GetMethod("TestProcedureWithDefaultArg")); Assert.AreEqual("42foo", handler.Invoke(new object[] { 42, Type.Missing })); }
public void SimpleUsage() { var handler = new ProcedureHandler(typeof(ProcedureHandlerTest).GetMethod("TestProcedure")); Assert.AreEqual(3.14159f, handler.Invoke(new object[] { 3, 0.14159f })); }
/// <summary> /// Add a property to the service for the given property annotated with the KRPCProperty attribute. /// </summary> public void AddProperty(PropertyInfo property) { TypeUtils.ValidateKRPCProperty (property); if (property.GetGetMethod () != null) { var method = property.GetGetMethod (); var handler = new ProcedureHandler (method); var attribute = "Property.Get(" + property.Name + ")"; AddProcedure (new ProcedureSignature (Name, method.Name, property.GetDocumentation (), handler, GameScene, attribute)); } if (property.GetSetMethod () != null) { var method = property.GetSetMethod (); var handler = new ProcedureHandler (method); var attribute = "Property.Set(" + property.Name + ")"; AddProcedure (new ProcedureSignature (Name, method.Name, property.GetDocumentation (), handler, GameScene, attribute)); } }
void AddPropertyMethod(MemberInfo property, MethodInfo method, String attribute) { var handler = new ProcedureHandler(method); AddProcedure(new ProcedureSignature(Name, method.Name, property.GetDocumentation(), handler, GameScene, attribute)); }
void AddPropertyMethod (MemberInfo property, MethodInfo method, String attribute) { var handler = new ProcedureHandler (method); AddProcedure (new ProcedureSignature (Name, method.Name, property.GetDocumentation (), handler, GameScene, attribute)); }