iddasm view assembly
lutz reoeder's reflector
struct: can't inherit and instantiated
class: can do both
value type: store on stack
reference type:store on garbage collected/manage heap
override:change virtual method implementation
ref:passing reference Type by referenece
question makr symbol(?):define a nullable variable type
nullable type: establish an empty object reference
static:the memeber must be invoked directly from the class level
when you create new instances of the class, the value of the
static data is not reset
public protect internal(in the solution) private
const: can never change after the initial assignment, can't be static
read-only: can be determined at runtime, so can legally be assigned within a
constructor, can be static
partial: classes and structures can be defined with a type modifier named partial
that allows to define a type across multiple
*.cs
base:controlling base class creation with base keyword
sealed: the class cannot be extended by other classes
abstract: abstract methods can only be defined by in abstract classes
new+ [function name]():avoid shadowing memeber in parent class when
inherit
Base class/Derived class casting rules:
Derived class can be casted to base class
as: casting type explicitly
is: determine whether two items are compatible
garbage collector:
1.destroy the ojbect when it is unreachable ty any part of code base.
2.set object reference to null.
application root: is a storage location containing a reference to an object on the heap.
During a garbage collection process,the runtime will investigate objects on the managed
heap to determin whether they are still reachable(aka rooted) by the application.
Object Generations:
the longer an object has existed on the heep, the more likely it is to stay there
The System.GC:
The base class libararies provide a class type named system.gc that allows you to
programmaticlly interact with the garbage collector using
a set of static members.Typically speaking, the only time you will make use of the memebers
of System.GC is when you are creating types that make use of unmanaged resources.
Interface: interface is nothing more than a named set of abstract memember
delegation:safer and more oject-oriented mananer when callback
included address of the method on which it makes call, argument, return value
weakly named assembly:can only deployed privately
strongly named assembly:public/private key pair used to indetity the producer of this
assembly,can deployed privately or publicly