C# for Beginner Part 45 to 55

Part 45   C# Tutorial   Why Enums

Enums are strongly typed constants.

If a program uses set of integral numbers, consider replacing them with enums. Otherwise the pragram becomes less 

Readable Maintainable

Part 46   C# Tutorial   Enums Example

public enum gender

{

     male,

     female

}

Part 47   C# Tutorial   Enums in c#

C# for Beginner Part 45 to 55_第1张图片

 

If a program uses set of intergral numbers, consider replacing them with enums,which makes the program more readable and maintainable

1,Enums are enumerations.

2,Enums are strongly typed constants(常量). Hence(因此),an explicit(显式) cast is needed to convert from enum type to an integral type and vice versa.Also, an enum of one tpe cannot be implicitly(隐式)  assigned(指定) to an enum of another type even though the underlying value of their members are the same.

3,the default underlying type of an enum is int.

4, the defalut value for first element is ZERO and gets incremented(递增) by 1.

5,It is possible to customize the underlying type and values.

6,Enums are value types.

7,Enum keyword(all small letteres) is used to create enumerations, where as Enum class,contains static GetValues() and Get Names() methods which can be used to list Enum underlying type values and Names.

Part 48   C# Tutorial   Difference between Types and Type Members

C# for Beginner Part 45 to 55_第2张图片

Part 49   C# Tutorial   Access Modifiers in C#

C# for Beginner Part 45 to 55_第3张图片

Part 50   C# Tutorial   Internal and Protected Internal Access Modifiers in C#

C# for Beginner Part 45 to 55_第4张图片

 

Part 51   C# Tutorial   Access Modifiers for types

C# for Beginner Part 45 to 55_第5张图片

Part 52   C# Tutorial   Attributes in C#

C# for Beginner Part 45 to 55_第6张图片

 Part 53   C# Tutorial   Reflection in C#

C# for Beginner Part 45 to 55_第7张图片

 

Part 54 C# Tutorial Reflection Example

here is the code

private void btnDiscover_Click(object sender, EventArgs e)
{
lbMethods.Items.Clear();
lbProperties.Items.Clear();
lbConstructor.Items.Clear();
string typeName = txtTypeName.Text.Trim();
Type t = Type.GetType(typeName);
if (t == null)
{
MessageBox.Show("Type Is No Exit, Please Enter A Right Type!", "Warnning", MessageBoxButtons.OK);
txtTypeName.Clear();
txtTypeName.Focus();
}
else
{
MethodInfo[] methods = t.GetMethods();
PropertyInfo[] properties = t.GetProperties();
ConstructorInfo[] constructors = t.GetConstructors();
foreach (var method in methods)
{
lbMethods.Items.Add(string.Concat(method.ReturnType.Name," ", method.Name));
}
foreach (var property in properties)
{
lbProperties.Items.Add(string.Concat(property.PropertyType.Name, " ", property.Name));
}
foreach (var constructor in constructors)
{
lbConstructor.Items.Add(constructor.ToString());
}
}
}

Part 55   C# Tutorial   Late binding using reflection

C# for Beginner Part 45 to 55_第8张图片

你可能感兴趣的:(inner)