I am interested to know the difference between this
and base
object in C#
. What is the best practice when using them?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
- How to know full paths to DLL's from .csproj f
The two keywords are very different.
this
refers to the current instance (not the “current class”). It can only be used in non-static methods (because in a static method there is no current instance). Calling a method onthis
will call the method in the same way as it would if you called it on a variable containing the same instance.base
is a keyword that allows inherited method call, i.e. it calls the specified method from the base type. It too can only be used in a non-static method. It is usually used in a virtual method override, but actually can be used to call any method in the base type. It is very different from normal method invocation because it circumvents the normal virtual-method dispatch: it calls the base method directly even if it is virtual."
this
" keyword points to the address of current object. we can use "this
" keyword to represent current object (of current class).Where as "
base
" keyword represent to "Parent class"So if you want to use/call function of parent class you can use "
base
" Keyword.base
is very useful in function overriding to call function of parent class.