Po prostu zdecydowałem się grać z PCL i przekonwertowałem moją bibliotekę klasową na PCL.Jakie są decyzje dotyczące dostępności typu dla konkretnej platformy?
Nic dziwnego, że nie można go zbudować, wykazując wiele błędów typu.
Ale tak naprawdę byłem zdezorientowany przez to, jakich typów nie ma.
CancelEventArgs
klasa jest obsługiwana, ale CancelEventHandler
nie jest.
Czy jest to zwykła szansa lub celowa decyzja o nieobejmowaniu określonego typu? Czy mogę wyodrębnić przydatne informacje na temat projektowania platform z faktu obecności lub absencji typu?
Pozwól mi wyjaśnić:
mogę zrozumieć przypadki, gdy zbyt platformy specyficzne koncepcje są usuwane.
Ale z PCL rzeczy nie są dla mnie oczywiste.
Przyzwyczaiłem się, że nie uważam się za mądrzejszego od innych, dlatego szukam wyraźnych powodów.
Ułatwienie migracji między platformami jest tak duże, jak to tylko możliwe. Jak mówi Eric Lippert, każda cecha musi być uzasadniona z punktu widzenia stosunku wartości do wydatków. Dlatego też albo zawyżam wartość zestawu dużych typów, albo nie doceniam trudności związanych z realizacją jego przenoszenia.
Co do konkretnych wydarzeń z systemem analizy kodu dał solidną poleca używać wersji genreic EventHandler<TEventArgs>
Inny podobny question.
Dziękuję, Daniel. Czy zalecałbyś tworzenie bibliotek pomocniczych jako PCL od samego początku? mówiąc "biblioteka pomocnika" mam na myśli bibliotekę, która ogólnie zawiera metody rozszerzania dla wyliczeń i inne tego typu rzeczy. –
@voroninp Jeśli potrzebujesz API, który możesz łatwo wprowadzić w bibliotece pomocniczej, śmiało. –