Surya sasidhar
Surya sasidhar

Reputation: 30303

Properties in asp.net ? Declarations of Properties?

in web application, i am trying to declare property, i found in some of blogs that they declare property like this :

 public System.Nullable<DateTime> LoginDateTime { get; set; }

what is the meaning of the above property.

Upvotes: 1

Views: 346

Answers (3)

gideon
gideon

Reputation: 19465

What part of it are you confused about?

It happens to be a C# property of type Nullable(T), which is a structure that allows you to make other structures nullable. As in you can set the property to null, Note, you can't set a normal DateTime variable to null.

The property is written with some syntactic sugar called Auto-Implemented properties.

Having the name LoginDateTime it probably stores the Date and Time of when the person logged on.

Upvotes: 0

Didier Ghys
Didier Ghys

Reputation: 30666

This is called an auto-implemented property.

In C# 3.0 and later, auto-implemented properties make property-declaration more concise when no additional logic is required in the property accessors. They also enable client code to create objects. When you declare a property as shown in the following example, the compiler creates a private, anonymous backing field that can only be accessed through the property's get and set accessors.

The compiler will transform this code into something like:

private System.Nullable<DateTime> xxx;
public System.Nullable<DateTime> LoginDateTime
{ 
    get
    {
        return xxx;
    }
    set
    {
        xxx = value;
    }
}

The "generated" code is then called a property:

A property is a member that provides a flexible mechanism to read, write, or compute the value of a private field. Properties can be used as if they are public data members, but they are actually special methods called accessors. This enables data to be accessed easily and still helps promote the safety and flexibility of methods.


About System.Nullable<>

Value type cannot have a null value (compared to reference types). The use of System.Nullable<> allows representing the correct range of values for its underlying value type, plus an additional null value.

Another notation to System.Nullable<DateTime> is DateTime?

Nullable Types (C# Programming Guide)

Upvotes: 2

Icarus
Icarus

Reputation: 63956

It's declaring a LoginDateTime property that can either contain a value or be null; it's equivalent to this:

 public DateTime? LoginDateTime { get; set; }

Read more here: http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx

Upvotes: 0

Related Questions