Welcome to mirror list, hosted at ThFree Co, Russian Federation.

PropertyVariation.cs « Xamarin.PropertyEditing - github.com/xamarin/Xamarin.PropertyEditing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8e684887452a96d9e6589e1f9acb18be2cda36a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections;
using System.Collections.Generic;

namespace Xamarin.PropertyEditing
{
	public class PropertyVariation
		: IList<PropertyVariationOption>
	{
		public PropertyVariation (params PropertyVariationOption[] options)
		{
			if (options == null)
				throw new ArgumentNullException (nameof(options));

			for (int i = 0; i < options.Length; i++)
				Add (options[i]);
		}

		public int Count => this.variations.Count;
		bool ICollection<PropertyVariationOption>.IsReadOnly => false;

		public PropertyVariationOption this[int index]
		{
			get => this.variations[index];
			set => this.variations[index] = value;
		}

		public IEnumerator<PropertyVariationOption> GetEnumerator () => this.variations.GetEnumerator ();
		IEnumerator IEnumerable.GetEnumerator () => GetEnumerator ();
		public void Add (PropertyVariationOption item) => this.variations.Add (item);
		public void Clear () => this.variations.Clear ();
		public bool Contains (PropertyVariationOption item) => this.variations.Contains (item);
		public void CopyTo (PropertyVariationOption[] array, int arrayIndex) => this.variations.CopyTo (array, arrayIndex);
		public bool Remove (PropertyVariationOption item) => this.variations.Remove (item);
		public int IndexOf (PropertyVariationOption item) => this.variations.IndexOf (item);
		public void Insert (int index, PropertyVariationOption item) => this.variations.Insert (index, item);
		public void RemoveAt (int index) => this.variations.RemoveAt (index);

		private readonly List<PropertyVariationOption> variations = new List<PropertyVariationOption> ();
	}
}