Cześć i dziękuję za poświęcony czas.Nieobsługiwany wyjątek w Przeciążeniu ToString
Niedawno zdecydowałem się spróbować użyć Xamarin.Android, aby opracować pomysł, który miałem.
Jednak natknąłem się na najdziwniejszy problem, jaki kiedykolwiek miałem.
public class Note : INote
{
public string Content { get; set; }
public DateTime DateTime { get; set; }
public List<ITag> Tags { get; set; }
public override string ToString()
{
try
{
const int maxLength = 20;
if (Content.Length > maxLength)
{
return Content.Substring(0, maxLength - 1);
}
return Content;
}
catch (Exception)
{
return Content;
}
}
}
W powyższym klasie, kiedy zrobić operację ToString na obiekcie notatki z mniej niż 20 znaków w nim, mam nieobsługiwany wyjątek. Które myślałem, że było dość dziwne, więc zawinąłem część z podciąganiu w próbie/haczyku.
Jednak nadal otrzymuję nieobsługiwany wyjątek. Jak to może być?
EDIT: Okno wyjątek wygląda również werid. Zwykle wyglądają tak.
Funkcja ToString jest wywoływana podczas zapełniania ListView, co jest wykonywane w tym kodzie.
[Activity(Label = "@string/ApplicationName")]
public class ShowNotesActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.ShowNotes);
var persistence = new Persistence();
var listView = FindViewById<ListView>(Resource.Id.listView1);
var adapter = new ArrayAdapter<INote>(this, Android.Resource.Layout.SimpleListItem1, persistence.GetAllNotes());
listView.Adapter = adapter;
}
}
co jest wejście na kiedy masz wyjątek? –
Więc mówisz, że kiedy 'Content' ma mniej niż 20 znaków, to również to będzie wewnątrz' stan if'? jeśli tak, czy możesz umieścić punkt przerwania na warunku 'if' i sprawdzić dokładną wartość' Content.Length' w tym czasie. – Amit
Jeśli Content.Length ma mniej niż 20, otrzymuję wyjątek. To może być cokolwiek. Ostatnia poprawka, którą próbowałem, stworzyłem dwie notatki. Jedna z zawartością: "asdfghjklqwertyuiopz", która nie powodowała żadnego wyjątku. I jeden z Treść: „e”, która nie powoduje wyjątek –