Wakacji początek i... koniecPrzez cały ostatni miesiąc miałem sporo roboty -- koniec semestru, projekty zaliczeniowe, egzaminy. Dzisiaj pojawiły się wyniki ostatniego z nich, więc oficjalnie można powiedzieć, że mam (zasłużone) wakacje :).
Skoro, jak głosił napis z plakatu pewnego filmu (ciekawe czy ktoś go jeszcze pamięta), everything that has a beginning has an end, moje wakacje właśnie dobiegły końca. Jutro zaczynam pracę w Nokia Siemens Networks i mam nadzieję, że będzie ciekawie.
Powinienem znaleźć też trochę czasu na napisanie ciekawszych wpisów, które od jakiegoś czasu czekają w kolejce ;). Czas też zabrać się za pisanie projektu związanego z pracą magisterską, żeby nie robić tego na ostatnią chwilę. Nie będzie to nic bezpośrednio związanego z gamedevem, a coś więcej na ten temat napiszę tu pewnie w sierpniu.
Extension methods w C#W prawie każdym projekcie można znaleźć statyczną klasę/klasy pomocnicze, które zawierają operacje na jakiś danych, ale nie są obiektem w klasycznym sensie. Przykład takiej klasy:
static class Helper
{
public static string SHA1(string text)
{
byte[] buffer = Encoding.UTF8.GetBytes(text);
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
string hash = BitConverter.ToString(sha1.ComputeHash(buffer));
return hash.Replace("-", "");
}
}
Używamy tego tak:
string sha1 = Helper.SHA1(password);
Jak zrobić, żeby pisać mniej kodu i było wygodniej i czytelniej? W C# 3.0 zostały wprowadzone Extension methods, które nam w tym pomogą.