Csharp/C Sharp by API/System/InvalidCastException
InvalidCastException.Message
<source lang="csharp"> using System; using System.Collections; class Album : IComparable, ICloneable {
private string _Title; private string _Artist; public Album(string artist, string title) { _Artist = artist; _Title = title; } public string Title { get { return _Title; } set { _Title = value; } } public string Artist { get { return _Artist; } set { _Artist = value; } } public override string ToString() { return _Artist + ",\t" + _Title; } public int CompareTo(object o) { Album other = o as Album; if (other == null) throw new ArgumentException(); if (_Artist != other._Artist) return _Artist.rupareTo(other._Artist); else return _Title.rupareTo(other._Title); } public object Clone() { return new Album(_Artist, _Title); }
} public class foo {
public foo() { myString = "Test"; } private string myString;
} class MainClass {
static void Main(string[] args) { ArrayList arr = new ArrayList(); arr.Add(new Album("G", "A")); arr.Add(new Album("B", "G")); arr.Add(new Album("S", "A")); arr.Sort(); arr.Insert(0, new foo()); try { foreach (Album a in arr) { Console.WriteLine(a); } } catch (System.InvalidCastException e) { } }
}
</source>