My Tutorials: C# Value Keyword

Tuesday, 31 July 2012

C# Value Keyword

The contextual keyword value is used in the set accessor in ordinary property declarations. It is similar to an input parameter on a method. The word value references the value that client code is attempting to assign to the property. In the following example, MyDerivedClass has a property called Name that uses the value parameter to assign a new string to the backing field name. From the point of view of client code, the operation is written as a simple assignment.

The MSDN reference can be found here.

Code Example


 class MyBaseClass
        {
            // virtual auto-implemented property. Overrides can only
            // provide specialized behavior if they implement get and set accessors.
            public virtual string Name { get; set; }

            // ordinary virtual property with backing field
            private int num;
            public virtual int Number
            {
                get { return num; }
                set { num = value; }
            }
        }

        class MyDerivedClass : MyBaseClass
        {
            private string name;

            // Override auto-implemented property with ordinary property
            // to provide specialized accessor behavior.
            public override string Name
            {
                get
                {
                    return name;
                }
                set
                {
                    if (value != String.Empty)
                    {
                        name = value;
                    }
                    else
                    {
                        name = "Unknown";
                    }
                }
            }
        }


As seen in the above code, the value keyword gives us access to the implied value that is sent when the Name property is assigned a value. This allows us to do error handling before we assign the value to our name field.

No comments:

Post a Comment

Other Blogs and Sites

Social Media