By móc cokolwiek napisać w dowolnym języku programowania, musimy się zapoznać z typami danych na których dany język operuje. W tej części kursu postaram się przybliżyć najważniejsze z nich oraz wyjaśnić terminy z nimi związane.
Tworząc programy, bardzo często wykorzystuje się różne biblioteki stworzone przez inne osoby. Dopóki kod jest tworzony na potrzeby własne, nie patrzy się na to jak zostały przygotowane użyte biblioteki. Pierwszy momentem, kiedy zaczyna się zwracać na to uwagę jest podjecie decyzji o publikacji rozwiązania dla większego grona odbiorców. W tym momencie zaczynają się pojawiać myśli o zabezpieczeniu kodu. Najprostszym sposobem...
W C# obiekty zwykle dostępne są poprzez referencje. Zatem zmienna typu T (jeśli jest on klasą) nie zawiera samego obiektu T, lecz tylko odwołanie do niego. Porównując dwie takie zmienne przy pomocy operatora == domyślnie sprawdzamy więc, czy pokazują one na ten sam obiekt. Podobnie jest też przy użyciu domyślnej wersji metody System.Object.Equals; robi ona dokładnie to samo, co wspomniany operator. Można mądrze powiedzieć, że oba mechanizmy sprawdzają relację identyczności obiektów.
Referencje do bibliotek z konfliktem nazw Może zdarzyć się, że w używanych dllkach napotkamy na konflikt nazw. Co przez to rozumiem? Więcej niż jedna biblioteka zawiera klasy o identycznej hierarchii klas w przestrzeni nazw. Doskonały scenariusz takiej sytuacji to konieczność wykorzystania kilku wersji tego samego komponentu (swego czasu zetknąłem się z takim czymś używając edytora tekstowego firmy Telerik w kontekście MOSS). Przykład…W pliku First.dll