protected ObjectValidatorBase()
        {
            var vObjectTargets = (ObjectValidatorAttribute[])GetType().GetCustomAttributes(typeof(ObjectValidatorAttribute), true);

            Assert.IsFalse(vObjectTargets.Length == 0, HasObjectValidatorWarning);

            _typeToTrack    = vObjectTargets[0].TargetType;
            _targetTypeType = vObjectTargets[0].TargetAttribute.UnityTargetType;
        }
 /// <summary>
 /// Constructor to allow specifying the <see cref="UnityTargetType"/> of object that this should be
 /// validating.
 /// </summary>
 /// <param name="unityTargetType">The <see cref="UnityTargetType"/> of object that this attribute should be used on.</param>
 protected ValidateAttribute(UnityTargetType unityTargetType)
 {
     UnityTargetType = unityTargetType;
 }
 public ValidateAttribute()
 {
     UnityTargetType = UnityTargetType.MonoBehavior;
 }