using System;
using System.ComponentModel.DataAnnotations;

namespace Replikanto
{
	public class LocalizedValue
	{
		public LocalizedValue(Enum value)
			: this(value, Delegate32.smethod_0("{0}", value, Delegate32.delegate32_0))
		{
		}

		public LocalizedValue(object value, string name)
		{
			this.object_0 = value;
			this.string_0 = name;
		}

		public LocalizedValue(object value, DisplayAttribute displayAttribute)
		{
			this.object_0 = value;
			this.displayAttribute_0 = displayAttribute;
		}

		public string Name
		{
			get
			{
				if (this.displayAttribute_0 == null)
				{
					return this.string_0;
				}
				return Delegate96.smethod_0(this.displayAttribute_0, Delegate96.delegate96_0);
			}
		}

		public object Value
		{
			get
			{
				return this.object_0;
			}
		}

		public override string ToString()
		{
			return this.Name;
		}

		internal static void smethod_0()
		{
		}

		internal static object smethod_1(int int_0)
		{
			return Class10.smethod_17(int_0);
		}

		internal static void smethod_2()
		{
		}

		internal static void smethod_3()
		{
		}

		private readonly string string_0;

		private readonly object object_0;

		private readonly DisplayAttribute displayAttribute_0;
	}
}
