Typ danych bool? w DialogResult

0

Cześć,

W WPF właściwość DialogResult ma typ danych bool?. Jak rozumieć taki typ danych? Już w kodzie sprawdziłem i nie mogę przekazać przez niego żadnego obiektu. Po co w takim razie istnieje i jakie ma zastosowania?

Pozdrawiam,
Grzegorz Wiśniewski

0

DialogResult nie służy do przekazywania danych z dialogu, lecz tylko do poinformowania, czy użytkownik zaakceptował dialog (np. wybrał plik i kliknął "Otwórz", lub z dostępnych przycisków "Tak"/"Nie" wybrał "Tak"), czy też nie.
Wszystko opisane jest tutaj: http://msdn.microsoft.com/en-us/library/system.windows.window.dialogresult.aspx

0

bool?
To typ, ktory opakowuje w obiekt zmienna typu bool. Co to daje? Poniewaz jest to obiekt, moze miec wartosc null, natomiast sama jego wlasciwosc Value jest juz typu bool, a wiec przyjmuje wartosc true/false; obiekt jako calosc jest zatem trojstanowy.

0

A przepraszam, zrozumiałem to jako pytanie. Zapis "bool?" zamiast bool? jest bardziej właściwy w takich przypadkach. Rozwiałoby to wszelkie wątpliwości.
Typ ze znakiem zapytania na końcu jest skrótem od "Nullable<T>", a klasa Nullable<T> typom nie nullowanym (jest jakiś sensowny polski odpowiednik "non-nullable" i "nullable"?) dodaje możliwość przypisania im wartości null. Tak więc typ int nie może posiadać wartości null, zaś typ int?, czy jak kto woli, typ Nullable<int> pozwala typowi int posiadać wartość null.

0

Panowie,

Odświeżę ten temat. Otóż mam PropertyInfo właściwości klasy i chciałbym sprawdzić czy jest to wartość właśnie typu Nullable przez co dostępne miałbym właściwości HasValue i Value. Problem w tym, że testy:

if (this.Name is Nullable)

nie dużo dały. Jakieś pomysły?

Pozdrawiam,
Grzegorz

1 użytkowników online, w tym zalogowanych: 0, gości: 1