Alex.Controls.iOS.Renderers.StatesButtonRenderer.SetField C# (CSharp) Метод

SetField() публичный Метод

public SetField ( object target, string fieldName, object value ) : void
target object
fieldName string
value object
Результат void
		public void SetField(object target, string fieldName, object value)
		{
			if (target == null)
			{
				throw new ArgumentNullException("target", "The assignment target cannot be null.");
			}

			if (string.IsNullOrEmpty(fieldName))
			{
				throw new ArgumentException("fieldName", "The field name cannot be null or empty.");
			}

			Type t = target.GetType();
			FieldInfo fi = null;

			while (t != null)
			{
				fi = t.GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic);

				if (fi != null) break;

				t = t.BaseType; 
			}

			if (fi == null)
			{
				throw new Exception(string.Format("Field '{0}' not found in type hierarchy.", fieldName));
			}

			fi.SetValue(target, value);
		}
	}