예제 #1
0
        private SampleVM Clone(Sample sample)
        {
            SampleVM vm = new SampleVM();

            foreach (PropertyInfo sourcePropertyInfo in sample.GetType().GetProperties())
            {
                PropertyInfo destPropertyInfo = vm.GetType().GetProperty(sourcePropertyInfo.Name);
                destPropertyInfo.SetValue(vm, sourcePropertyInfo.GetValue(sample, null), null);
            }

            return(vm);
        }
예제 #2
0
        private IList <SampleVM> Clone(IList <Sample> sampleList)
        {
            IList <SampleVM> sampleVMs = new List <SampleVM>();

            foreach (Sample sample in sampleList)
            {
                SampleVM sampleVM = new SampleVM();
                foreach (PropertyInfo sourcePropertyInfo in sample.GetType().GetProperties())
                {
                    PropertyInfo destPropertyInfo = sampleVM.GetType().GetProperty(sourcePropertyInfo.Name);
                    destPropertyInfo.SetValue(sampleVM, sourcePropertyInfo.GetValue(sample, null), null);
                }
                sampleVMs.Add(sampleVM);
            }

            return(sampleVMs);
        }