Example #1
0
        public static IEnumerable<Result> GetResultFromComponentResult(IComponentResult componentResult)
        {
            var results = new List<Result>();

            Type type = componentResult.GetType();
            PropertyInfo[] infos = type.GetProperties(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
            foreach (var pi in infos)
            {
                var result = new Result();

                var attributes = pi.GetCustomAttributes(typeof (ComponentResultName), false);
                bool isComponentResultName = attributes.Length > 0 && (attributes[0] as ComponentResultName) != null;
                if (isComponentResultName)
                {
                    result.Name = (attributes[0] as ComponentResultName).Name;
                }

                attributes = pi.GetCustomAttributes(typeof (ComponentResultDescription), false);
                bool isComponentResultDescription = attributes.Length > 0 && (attributes[0] as ComponentResultDescription) != null;
                if (isComponentResultDescription)
                {
                    result.Description = (attributes[0] as ComponentResultDescription).Description;
                }

                result.Value = pi.GetValue(componentResult, null).ToString();
                results.Add(result);
            }

            return results;
        }
 public ResultsNormalized(IComponentResult componentResult)
 {
     Results = componentResult.Normalize().ToList();
 }