コード例 #1
0
        private void AddResult(TestResult model, TestResult otherChild)
        {
            if (model.Results != null && model.Results.IsFixedSize)
            {
                var results = new ArrayList(model.Results);

                // Finding result by ReferenceEquals not to be tight to private variable name
                var resultsField = model.GetType()
                    .GetFields(BindingFlags.Default | BindingFlags.Instance | BindingFlags.NonPublic)
                    .FirstOrDefault(f => ReferenceEquals(f.GetValue(model), model.Results));

                if (resultsField != null)
                    resultsField.SetValue(model, results);
            }
            model.AddResult(otherChild);
        }