using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Reflection; using System.Text; namespace sharpcomparer { public class Comparison : IComparable { public enum ComparisonDifference { None, LeftOnly, Different, RightOnly } private T leftItem; private T rightItem; private ComparisonDifference difference; public ComparisonDifference Difference { get { return difference; } set { difference = value; } } public T LeftItem { get { return leftItem; } set { leftItem = value; } } public T RightItem { get { return rightItem; } set { rightItem = value; } } public string Status { get { return Difference.ToString(); } } public Image Image { get { Assembly assembly = Assembly.GetExecutingAssembly(); string name = "sharpcomparer.Resources.none.png"; switch (Difference) { case Comparison.ComparisonDifference.LeftOnly: name = "sharpcomparer.Resources.leftOnly.png"; break; case Comparison.ComparisonDifference.RightOnly: name = "sharpcomparer.Resources.rightOnly.png"; break; case Comparison.ComparisonDifference.Different: name = "sharpcomparer.Resources.different.png"; break; } Stream stream = assembly.GetManifestResourceStream(name); return new Bitmap(stream); } } public Comparison(T leftItem, T rightItem, ComparisonDifference difference) { this.leftItem = leftItem; this.rightItem = rightItem; this.difference = difference; } #region IComparable Members public int CompareTo(T other) { throw new NotImplementedException(); } #endregion } }