public static Property ReverseEngineer(System.Reflection.PropertyInfo _property) { Property property; property = new Property(); if (_property.GetMethod != null) { property.GetMethod = ReverseEngineer(_property.GetMethod); } if (_property.SetMethod != null) { property.SetMethod = ReverseEngineer(_property.SetMethod); } property.Name = _property.Name; property.Type = ReverseEngineer(_property.DeclaringType); property.ReturnType = ReverseEngineer(_property.PropertyType); property.Access = _property.GetAccessmodifier(); return(property); }