//
// System.Collections.ObjectModel.ReadOnlyCollection
//
-// Author:
+// Authors:
// Zoltan Varga (vargaz@gmail.com)
// David Waite (mass@akuma.org)
+// Marek Safar (marek.safar@gmail.com)
//
// (C) 2005 Novell, Inc.
// (C) 2005 David Waite
//
// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
// Copyright (C) 2005 David Waite
+// Copyright (C) 2011 Xamarin, Inc (http://www.xamarin.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
+using System.Diagnostics;
namespace System.Collections.ObjectModel
{
[ComVisible (false)]
[Serializable]
- public class ReadOnlyCollection <T> : IList <T>, ICollection <T>, IEnumerable <T>, IList, ICollection, IEnumerable
+ [DebuggerDisplay ("Count={Count}")]
+ [DebuggerTypeProxy (typeof (CollectionDebuggerView<>))]
+ public class ReadOnlyCollection<T> : IList<T>, IList
+#if NET_4_5
+ , IReadOnlyList<T>
+#endif
{
IList <T> list;
bool IList.Contains (object value)
{
- if (Collection <T>.IsValidItem (value))
+ if (CollectionHelpers.IsValidItem<T> (value))
return list.Contains ((T) value);
return false;
}
int IList.IndexOf (object value)
{
- if (Collection <T>.IsValidItem (value))
+ if (CollectionHelpers.IsValidItem<T> (value))
return list.IndexOf ((T) value);
return -1;
}