이 주제와 관련하여 많은 비슷한 질문이 있다는 것을 이미 알고 있습니다. 그러나 응답을보고 해당 질문과 관련하여 코드를 수정하는 것은 실패한 것으로 나타났습니다.IComparable : 공용이 아니기 때문에 인터페이스 멤버를 구현할 수 없습니다.
아래 코드는 내가 전달 된 아티스트의 이름과 아티스트 이름 (OBJ) 사이 비교 compareTo와를 사용하여 내 아티스트 클래스의 일부입니다 ..
class Artists : IComparable
{
private string artistName;
private string artistMembers;
public int CompareTo(Object obj)
{
Artists otherArtist = (Artists)obj;
return artistName.CompareTo(otherArtist.ArtistName);
}
public Artists(string artist, string members){
ArtistName = artist;
Members = members;
}
public string ArtistName
{
set { artistName = value; }
get { return artistName; }
}
public string Members
{
set { artistMembers = value; }
get { return artistMembers; }
}
}
은 정말 변수을 피하려고 공개적으로 다른 곳에서 제공되는 솔루션이므로이 문제를 해결하기 위해 내가해야 할 일이 무엇인지 궁금하여 실수로 배울 수 있도록 잘못하고 있습니다.
미리 감사드립니다.
편집 2 닫힌 VS 다시 컴파일되고 갑자기 작동합니다. 시간 낭비해서 죄송합니다.
내가 잃어버린, 작동하지 않는/위의 코드에서 변경 하시겠습니까? – BradleyDotNET
코드가 컴파일됩니다 - 무엇이 _ 정확합니까? –
비 제네릭 버전 대신에'IComparable'을 구현하는 것을 고려해야합니다. –
Lee