2using System.Collections.Generic;
72 #region Private Variables
82 #region Private Methods
87 if (type ==
null || type == typeof(
void))
90 if (type != typeof(
int)
91 && type != typeof(
float)
92 && type != typeof(
bool)
93 && type != typeof(
double)
94 && type != typeof(decimal)
95 && type != typeof(
string)
96 && type != typeof(
char)
99 throw new ExecutionException(
"Der Typ '" + type.Name +
"' ist kein generischer Datentyp und es wurden keine Erweiterungen registriert.");
110 else if (type == typeof(
void))
112 else if (type == typeof(
int))
114 else if (type == typeof(
float))
116 else if (type == typeof(
double))
118 else if (type == typeof(
bool))
120 else if (type == typeof(
char))
122 else if (type == typeof(
string))
127 tmp = type.ToString().Replace(
"System.",
"").ToLower();
135 #region Public Methods
157 foreach (Type parameter
in parameterTypes)
162 this.parameters = parameterTypes;
227 if (
parameters.Count !=
this.parameters.Count)
228 throw new ExecutionException(
"Die Routine '" +
name +
"' wurde mit " +
parameters.Count +
" statt erwarteten " +
this.parameters.Count +
" Parametern aufgerufen.");
233 if (
null == this.parameters[i] ||
null ==
parameters[i])
236 if (typeof(
void) == this.parameters[i] || typeof(
void) ==
parameters[i])
239 Type expected = this.parameters[i];
243 if (expected != specified)
244 throw new ExecutionException(
"Typ '" + specified.Name +
"' statt erwartetem Typ '" + expected.Name +
"' als " + (i + 1) +
" Parameter von '" +
name +
"' angegeben.");
257 if (
null == this.result ||
null ==
result)
260 if (typeof(
void) == this.result || typeof(
void) ==
result)
263 if (
result.GetType() !=
this.result)
264 throw new ExecutionException(
"Typ '" +
result.GetType().Name +
"' statt erwartetem Typ '" +
this.result.Name +
"' als Ergebnis von '" +
name +
"' erhalten.");
271 StringBuilder sb =
new StringBuilder();
294 return sb.ToString();
305 #region Public Properties
325 internal set {
host = value; }
string ToString(Type type)
void Verify(List< object > parameters)
Verify the parameter types of a Routine. If null or void was specified values arent verified.
Routine(Type result, string name, Type parameter)
Routine(Type result, string name, Type parameter0, Type parameter1, string description)
Routine(Type result, string name, List< Type > parameterTypes, string description)
void Verify(object result)
Verify the result of a Routine. If null or void was specified values arent verified.
Routine(Type result, string name, Type parameter0, Type parameter1)
Routine(Type result, string name)
Routine(string name, string description)
Routine(Type result, string name, Type parameter0, Type parameter1, Type parameter2)
Routine(Type result, string name, Type parameter0, Type parameter1, Type parameter2, string description)
List< Type > ParameterTypes
Routine(Type result, string name, Type parameter, string description)
Routine(Type result, string name, string description)
Routine(Type result, string name, List< Type > parameters)
override string ToString()
The main interface to create a Host. A Host can implement Routine's to extend its functionality.