using System;
public class Program
{
public static void Main()
var data = new Data(10);
var first = new First(data);
var second = new Second(data);
second.Multiply(5);
first.Add(10);
Console.WriteLine("Data value is {0}",data.Value);
}
public class Data{
public Data(int value)
this.Value = value;
public int Value{get;set;}
public class First{
private Data m_data;
public First(Data data)
m_data = data;
public void Add(int value)
if(m_data!=null)
m_data.Value+=value;
public class Second{
public Second(Data data)
public void Multiply(int value)
m_data.Value*=value;