value (C# Reference)
The contextual keyword value
is used in the set
accessor in property and indexer declarations. It is similar to an input parameter of a method. The word value
references the value that client code is attempting to assign to the property or indexer. 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.
class MyBaseClass
{
// virtual automatically 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 automatically implemented property with ordinary property
// to provide specialized accessor behavior.
public override string Name
{
get
{
return _name;
}
set
{
if (!string.IsNullOrEmpty(value))
{
_name = value;
}
else
{
_name = "Unknown";
}
}
}
}
For more information, see the Properties and Indexers articles.
C# language specification
For more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.