Tải bản đầy đủ (.pptx) (43 trang)

02 c advanced features

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (734.06 KB, 43 trang )

C# Advanced
features
Feb 2016


Agenda
1.
2.
3.
4.
5.
6.

Automatic: type, property
Object & Collection initializer
Anonymous: type, method
Delegate & event, polymorphism
Reference
Miscellaneous


Automatic type & property

1


Automatic type
inference
 Implicitly Typed Local Variables

4




Questions
1. Is it like Javascript var? (Loosely typed,
dynamic)
2. What is it actually?
3. What is the benefit?
4. Why would developer want to use it?

 Actually, when to use and when not to use?

5


My best usage scenario
 List declaration
 List iteration

6


Later usage in this
course
 LINQ

7


Automatic property
 OOP encapsulation rule


 Never expose public fields, use property instead!
 Better for logic adding later
No breaking changes! => Better maintenance

 Properties can be databound, fields cannot!

8


Equivalent

 Whatever you write, the right code will
always be generated! (Kind of similarity, not
exactly)
9


Have VS encapsulated
for u
 Using refactor feature

10


Read only property
 Lúc trước
public string FirstName { get; private set; }
public string LastName { get; private set; }


 Bản mới
public string FirstName { get; }
public string LastName { get; }

11


Object & Collection initializer

2


Object initializer

 Old way to initialize

 New and more convenient way to initialize
13


Collection initializer

14


Anonymous type & method

3



Things to consider
 Same class?

16


Anonymous type
 Usage scenario: purely for storing data
(database access)


Delegate & event

4


Similarity
 Function pointer in C++
 Delegate: type of function pointer (the
interface)

19


Delegate example

20




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×