Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace oop_2_properties
- {
- class Data
- {// membri interni
- //field
- private byte g = 1;
- private byte m = 1;
- private int a = 1;
- public int G
- {
- get { return g; }
- set {
- if (value <= GiorniMese() && value>0)
- g = (byte)value;
- else
- throw new InvalidOperationException();
- }
- }
- //metodi
- bool Bisestile(int anno)
- {
- return anno % 400 == 0 || (anno % 4 == 0 && anno % 100 != 0);
- }
- int GiorniMese() //parametri formali
- {
- switch (m)
- {
- case 4:
- case 6:
- case 9:
- case 11:
- return 30;
- case 2:
- return 28 + (a % 400 == 0 || (a % 4 == 0 && a % 100 != 0) ? 1 : 0);
- default:
- return 31;
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Data d1 = new Data();
- Console.WriteLine(d1.G);
- d1.G = 23;
- Console.WriteLine(d1.G);
- try
- {
- d1.G = 45;
- }
- catch (InvalidOperationException eccezione)
- {
- Console.WriteLine("Giorno non valido, data NON modificata ...");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement