Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. Все типы - производные от Sytem.Object
  2. У них есть публичные методы
  3. * ToString
  4. * Equals(object obj)
  5. * GetHashCode()
  6. * GetType()
  7. и protected методы
  8. * MemberwiseClone
  9. * Finalize
  10.  
  11. MemberwiseClone создает новый объект, в который копирует свойства исходного, для ссылочных типов происходит копирование указателя(ссылка не отвязывается)
  12. Finalize - вызывается сборщиком мусора при утилизации объекта(недетерминированно)
  13. Оператор new последовательно делает несколько вещей:
  14. * Анализирует сколько понадобится памяти для этого объекта, выделяет память
  15. * Анализирует сколько дополнительно понадобится памяти для этого объекта, выделяет эту память в виде байт, проинициализированных 0
  16. * Создает указатель на объект и индекс блока синхронизации(вроде нужно CLR, для управления объектом)
  17. * Вызывает конструктор
  18.  
  19. # Приведение типов.
  20. Можно привести к собственному типу или наследникам
  21. ```csharp
  22. public class A
  23. {
  24. }
  25.  
  26. public class B : A
  27. {
  28. }
  29.  
  30. ...
  31. B b = new B();
  32. object o = b;
  33. A a = (A) o;
  34. ```
  35. Приведение происходит динамически,т.е вполне возможно, что будет ошибка Run-Time
  36. # Пространства имен и сборки
  37. Пространства имен используются для того, чтобы программисту было проще писать код, не весь путь к расположению класса, а открыть namespace
  38. тем самым компилятор сам подставит правильный путь, потому что в итоге CLR работает с полными именами типов, также using позволяет
  39. использовать псевдонимы:
  40. ```csharp
  41. using WintellectWidget = Wintellect.Widget;
  42. ...
  43. var ww = new WintellectWidget();
  44. ```
  45. Это может быть полезно, если я не хочу захламлять глобальное пространство имен лишними типами и мне нужен только один
  46.  
  47. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement