Свойство является расширением поля и позволяет получить к нему доступ.
    
Для свойства не выделяется память.
Для доступа к значениям свойств используются специальные функции доступа : set — для записи значения и get — для чтения.
    
Синтаксис:
модификатор тип имя_свойства {
set {
//код аксессора записи поля
}
get {
//код аксессора записи поля
}
}
 
   Для свойства не выделяется память.
Для доступа к значениям свойств используются специальные функции доступа : set — для записи значения и get — для чтения.
Синтаксис:
модификатор тип имя_свойства {
set {
//код аксессора записи поля
}
get {
//код аксессора записи поля
}
}
свойство доступное как для записи, так и для чтения
  Main.cs  
     
usingSystem;classOne {-  
intval; -  
publicintVal { -   
set{ -    
val = value; -   
} -   
get{ -    
returnval; -   
} -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(); -   
O.Val = 10; -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
intval; -  
publicintVal { -   
set{ -    
val = value; -   
} -   
get{ -    
returnval; -   
} -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(); -   
O.Val = 10; -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
    
10     
    
   
   свойство доступное только для записи
  Main.cs  
     
usingSystem;classOne {-  
intval; -  
publicintVal { -   
set{ -    
val = value; -   
} -  
} -  
publicintgetVal() { -   
returnval; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(); -   
O.Val = 10; -   
Console.WriteLine(O.getVal()); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
intval; -  
publicintVal { -   
set{ -    
val = value; -   
} -  
} -  
publicintgetVal() { -   
returnval; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(); -   
O.Val = 10; -   
Console.WriteLine(O.getVal()); -   
Console.ReadKey(); -   
return0; -  
} }
    
10     
    
   
 
   свойство доступное только для чтения
  Main.cs  
     
usingSystem;classOne {-  
intval; -  
publicintVal { -   
get{ -    
returnval; -   
} -  
} -  
publicOne(intarg) { -   
val = arg; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(10); -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
intval; -  
publicintVal { -   
get{ -    
returnval; -   
} -  
} -  
publicOne(intarg) { -   
val = arg; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(10); -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
    
10     
    
   
 
   отсутствие кода в теле аксессора set
    Если отсутствует код в теле аксессора set, то свойство только возвращает значение, устанавливать значение оно не может. 
   
     Main.cs  
     
usingSystem;classOne {-  
intval; -  
publicintVal { -   
set{} -   
get{ -    
returnval; -   
} -  
} -  
publicOne(intarg) { -   
val = arg; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(10); -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
intval; -  
publicintVal { -   
set{} -   
get{ -    
returnval; -   
} -  
} -  
publicOne(intarg) { -   
val = arg; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(10); -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
    
10     
    
   
   явное указание модификатора перед аксессором
    По умолчанию, аксессоры set и get имеют такой же модификатор доступа, что и само свойство. 
    
Иногда нужно ограничить доступ к одному из аксессоров (как правило, к аксессору set), для этого нужно явно перед ключевым словом указать модификатор доступа private.
   Иногда нужно ограничить доступ к одному из аксессоров (как правило, к аксессору set), для этого нужно явно перед ключевым словом указать модификатор доступа private.
  Main.cs  
     
usingSystem;classOne {-  
inta; -  
intval; -  
publicintVal { -   
privateset{ -    
val = value; -   
} -   
get{ -    
returnval; -   
} -  
} -  
publicOne(intarg) { -   
//устанавливаем значение -   
Val = a = arg; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(10); -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
inta; -  
intval; -  
publicintVal { -   
privateset{ -    
val = value; -   
} -   
get{ -    
returnval; -   
} -  
} -  
publicOne(intarg) { -   
//устанавливаем значение -   
Val = a = arg; -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(10); -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
    
10     
    
   
 
   автоматически реализуемое свойство
    Для автоматически реализуемого свойства, автоматически создается скрытое резервное поле, для которого реализуются методы доступа для чтения и записи. 
   
     Main.cs  
     
usingSystem;classOne {-  
publicintVal {set;get;} }classProgram {-  
publicstaticintMain() { -  
One O =newOne(); -   
O.Val = 10; -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
publicintVal {set;get;} }classProgram {-  
publicstaticintMain() { -  
One O =newOne(); -   
O.Val = 10; -   
Console.WriteLine(O.Val); -   
Console.ReadKey(); -   
return0; -  
} }
    
10     
    
   
 
   условие в теле аксессора
  Main.cs  
     
usingSystem;classOne {-  
decimalpi; -  
publicdecimalPi { -   
set{ -    
if(value == 3.14m) { -     
pi = value; -    
} -    
else{ -     
thrownewException("Число Pi должно быт равно 3.14"); -    
} -   
} -   
get{ -    
returnpi; -   
} -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(); -   
O.Pi = 3.14m; -   
Console.WriteLine(O.Pi); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
decimalpi; -  
publicdecimalPi { -   
set{ -    
if(value == 3.14m) { -     
pi = value; -    
} -    
else{ -     
thrownewException("Число Pi должно быт равно 3.14"); -    
} -   
} -   
get{ -    
returnpi; -   
} -  
} }classProgram {-  
publicstaticintMain() { -   
One O =newOne(); -   
O.Pi = 3.14m; -   
Console.WriteLine(O.Pi); -   
Console.ReadKey(); -   
return0; -  
} }
    
3,14