In C#, aggregation is a process in which one class defines another class as any entity reference. It is another way to reuse the class. It is a form of association that represents HAS-A relationship.
Let's see an example of aggregation where Employee class has the reference of Address class as data member. In such way, it can reuse the members of Address class.
using System;
public class Address
{
    public string addressLine, city, state;
    public Address(string addressLine, string city, string state)
    {
        this.addressLine = addressLine;
        this.city = city;
        this.state = state;
    }
}
   public class Employee
    {
       public int id;
       public string name;
       public Address address;//Employee HAS-A Address
       public Employee(int id, string name, Address address)
       {
           this.id = id;
           this.name = name;
           this.address = address;
       }
       public void display()
       {
           Console.WriteLine(id + " " + name + " " + 
             address.addressLine + " " + address.city + " " + address.state);
       }
   }
   public class TestAggregation
   {
        public static void Main(string[] args)
        {
            Address a1=new Address("G-13, Sec-3","Noida","UP");
            Employee e1 = new Employee(1,"Sonoo",a1);
            e1.display();
        }
    }