public override void Happen(Field field) { ConstructorInfo constructor = fieldObjectType.GetConstructor( new Type[] { typeof(Field), typeof(int), typeof(int) } ); FieldObject newObject = (FieldObject)constructor.Invoke (new object [] { field, field.randomX (), field.randomY () } ); // newObject.x = field.randomX (); // newObject.y = field.randomY (); // newObject.field = field; field.AddFieldObject (newObject); }