Upload
adarsh-patel
View
60
Download
1
Embed Size (px)
Citation preview
Modifiers - Property and Indexers , Attributes & Reflection API, When to use Console Applications
- Generating Console Output, Processing , Console Input
Subject :: Dot Net Technology
:: Presented by ::Adarsh Patel
Overview
Modifiers PropertyIndexersAttributes & Reflection APIConsole Applications
Reference :: http://www.tutorialspoint.com :: https://msdn.microsoft.com/en-IN/library/
2D O T N E T
• The Modifiers are keywords added with any programming element to give some especial emphasis on how the programming element will behave or will be accessed in the program.
• For example, the access modifiers: • Public• Private • Protected• Friend • Protected Friend• indicate the access level of a programming element
like a variable, constant, enumeration or a class.
3D O T N E T
Modifiers
4D O T N E T
Modifier Description
Access Modifiers• Public• Private• Internal• protected
Specifies the declared accessibility of types and type members.
abstract Indicates that a class is intended only to be a base class of other classes.
async Indicates that the modified method, lambda expression, or anonymous method is asynchronous.
const Specifies that the value of the field or the local variable cannot be modified.
event Declares an event.
volatile Indicates that a field can be modified in the program by something such as the operating system, the hardware, or a concurrently executing thread.
Modifiers Continue..
5D O T N E T
Modifiers Continue..Modifier Description
extern Indicates that the method is implemented externally.
new Explicitly hides a member inherited from a base class.
override Provides a new implementation of a virtual member inherited from a base class.
partial Defines partial classes, structs and methods throughout the same assembly.
readonly Declares a field that can only be assigned values as part of the declaration or in a constructor in the same class.
sealed Specifies that a class cannot be inherited.
static Declares a member that belongs to the type itself instead of to a specific object.
unsafe Declares an unsafe context.
virtual Declares a method or an accessor whose implementation can be changed by an overriding member in a derived class.
6D O T N E T
Property
• Properties are named members of classes, structures, and interfaces. Member variables or methods in a class or structures are called Fields. Properties are an extension of fields and are accessed using the same syntax. They use accessors through which the values of the private fields can be read, written or manipulated.
• Properties enable a class to expose a public way of getting and setting values, while hiding implementation or verification code.
• Properties do not name the storage locations. Instead, they have accessors that read, write, or compute their values.
7D O T N E T
class TimePeriod { private double seconds;
public double Hours { get { return seconds /
3600; } set { seconds = value *
3600; } }}
class Program { static void Main() { TimePeriod t = new TimePeriod();
// Assigning the Hours property causes the 'set' accessor to be called. t.Hours = 24;
// Evaluating the Hours property causes the 'get' accessor to be called. System.Console.WriteLine("Time in hours: " + t.Hours);
} }
// Output: Time in hours: 24
Property Continue..
8D O T N E T
• A Get procedure returns the value of a property. It is called when you access the property in an expression.
• A Set procedure sets a property to a value, including an object reference. It is called when you assign a value to the property.
You usually define property procedures in pairs, using the Get and Set statements, but you can define either procedure alone if the property is read-only (Get Statement) or write-only (Set Statement).
Property Continue..
9D O T N E T
Indexer
• An indexer allows an object to be indexed such as an array. When you define an indexer for a class, this class behaves similar to a virtual array. You can then access the instance of this class using the array access operator ([ ]).
• properties return or set a specific data member, whereas indexers returns or sets a particular value from the object instance. In other words, it breaks the instance data into smaller parts and indexes each part, gets or sets each part.
• public int this[int index] // Indexer declaration { // get and set accessors}
10D O T N E T
Indexer Continue..
class SampleCollection<T> {
// Declare an array to store the data elements.private T[] arr = new T[100];
/* Define the indexer, which will allow client code to use [] notation on the class instance itself. (See line 2 of code in Main below.) */
public T this[int i] { get {
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array. return arr[i]; } set { arr[i] = value; } }
}
11D O T N E T
Indexer Continue..
// This class shows how client code uses the indexer.
class Program { static void Main(string[] args){
// Declare an instance of the SampleCollection type. SampleCollection<string> st = new SampleCollection<string>();
// Use [] notation on the type.st [0] = "Hello, World"; System.Console.WriteLine(st [0]);
}}
12D O T N E T
Comparison of indexers and propertiesPROPERTY INDEXER
Allows methods to be called as if they were public data members.
Allows elements of an internal collection of an object to be accessed by using array notation on the object itself.
Accessed through a simple name. Accessed through an index.
Can be a static or an instance member. Must be an instance member.
A get accessor of a property has no parameters.
A get accessor of an indexer has the same formal parameter list as the indexer.
A set accessor of a property contains the implicit valueparameter.
A set accessor of an indexer has the same formal parameter list as the indexer, and also to the value parameter.
Supports shortened syntax with Auto-Implemented Properties (C# Programming Guide).
Does not support shortened syntax.
13D O T N E T
Attributes
• Attributes are used for adding metadata, such as compiler instruction and other information such as comments, description, methods and classes to a program. The .Net Framework provides two types of attributes: the pre-defined attributes and custom built attributes.
• An attribute is a declarative tag that is used to convey information to runtime about the behaviors of various elements like classes, methods, structures, enumerators, assemblies etc. in your program.
• Syntax for specifying an attribute is as follows[attribute(positional_parameters,name_parameter =
value, ...)] element
14D O T N E T
Attributes Continue..
• example shows how to apply attributes to methods, method parameters, and method return values in C#.
// default: applies to method [SomeAttr] int Method1() { return 0; }
// applies to method [method: SomeAttr] int Method2() { return 0; }
// applies to return value [return: SomeAttr] int Method3() { return 0; }
15D O T N E T
Attributes Continue..
• The .Net Framework provides three pre-defined attributes
AttributeUsage
Conditional
Obsolete
16D O T N E T
Reflection API
• Reflection objects are used for obtaining type information at runtime. The classes that give access to the metadata of a running program are in the System.Reflection namespace.
• The System.Reflection namespace contains classes that allow you to obtain information about the application and to dynamically add types, values, and objects to the application.
• as below given code
Type t = typeof(Car);MethodInfo[] methods = t.GetMethods();foreach (MethodInfo nextMethod in methods){
// etc.}
17D O T N E T
• The System.Type class is the main class for the .NET Reflection functionality and is the primary way to access metadata. The System.Type class is an abstract class and that represents a type in the Common Type System (CLS).
• The MemberInfo object of the System.Reflection class needs to be initialized for discovering the attributes associated with a class. To do this, you define an object of the target class.as below given code
Type t = typeof(Car);MethodInfo[] methods = t.GetMethods();foreach (MethodInfo nextMethod in methods){
// etc.}
Reflection API Continue..
18D O T N E T
Console Application
When to use console application
Console Application
19D O T N E T
When to use Console Application
• A console application is a computer program designed to be used via a text-only computer interface, such as a text terminal, the command line interface of some operating systems .
• In .NET you can work with the console application by using the Console class and its methods.Method Description
Read() Reads the next character from the console windows
ReadLine() Reads the Next line of characters from the console Windows
Write() Writes the specified string value to the console windows
WriteLine() Writes the specified string value , followed by the current line terminator , to the console windows
20D O T N E T
Consol application
• In order to create a C# console based applicationOpen your Visual Studio.
Open Your visual studio. On the File menu, click New Project. Then the New Project
dialog box appears. This dialog box lists the different default application types.
Select Console Application as your project type and change the name of your application at the bottom textbox. If you are not comfortable with default location, you can always enter a new path if you want.
Then Click OK.
21D O T N E T
Consol application Continue..
22D O T N E T
• After click OK button, you will get a screen like the following picture.
Consol application Continue..
23D O T N E T
• You can accept the values from users, process that input, and display the respective result on console Window.
Consol application Continue..
Thank you…