Add IComparable<T> to NSString (#7468)

Fixes #5522
This commit is contained in:
Marius Ungureanu 2019-11-20 07:45:13 -05:00 коммит произвёл Sebastien Pouliot
Родитель 4aa269bbdb
Коммит 5913bd1807
2 изменённых файлов: 23 добавлений и 1 удалений

Просмотреть файл

@ -29,7 +29,7 @@ using ObjCRuntime;
namespace Foundation {
public partial class NSString {
public partial class NSString : IComparable<NSString> {
const string selDataUsingEncodingAllow = "dataUsingEncoding:allowLossyConversion:";
#if MONOMAC
@ -91,6 +91,11 @@ namespace Foundation {
return ret;
}
public int CompareTo (NSString other)
{
return (int)Compare (other);
}
// [Export ("initWithContentsOfURL:encoding:error")]
// IntPtr Constructor (NSUrl url, NSStringEncoding encoding, out NSError error);
//

Просмотреть файл

@ -54,6 +54,23 @@ namespace Xamarin.Mac.Tests
Assert.IsTrue (rect.Width > 0);
Assert.IsTrue (rect.Height > 0);
}
[Test]
public void NSString_CompareTo ()
{
using (var a = new NSString ("a"))
using (var b = new NSString ("b"))
using (var c = new NSString ("c"))
{
var tests = new NSString[] { c, a, b };
Array.Sort (tests);
Assert.AreSame (a, tests[0], "0");
Assert.AreSame (b, tests[1], "1");
Assert.AreSame (c, tests[2], "2");
}
}
}
[TestFixture]