Question: hello there i want to convert an image to compressed textual form and then i want to send it to the other android user in form of sms and then that textual form need to be converted to the Image, i tried with the base64 encoding but its of no use, because its output is very long.. so that it ll be tough to send that much of text in form of sms, so is there any other way to covert an image to text else any method to compress the text...? please help me and i am work on android emulator and really need your help. Thanks in advance 
Regards Hitesh,

Answer: 
Declare an appropriate delegate type and pass that in a generic list.

```
public delegate retType MyDelegate(param1type param1, param2type param2,...)

List<MyDelegate> listToPass = new List<MyDelegate>();

```
I have two approaches here, using pure lambdas or using Delegate.Combine. I'd prefer the lambda variety.

```
using System;
using System.Linq;

namespace X
{
    public class MyType
    {
        public delegate void DoInitialize(MyType instance);
        public int a,b,c;

        public MyType(DoInitialize initialize) 
        {
            initialize(this);
        }

        public MyType(params Action<MyType>[] initializers) 
        {
            foreach (var initializer in initializers)
                initializer(this);
        }

        public static void LambdaApproach()
        {
            var instance = new MyType(
                    i => i.a = 1,
                    i => i.b = 2,
                    i => i.c = 42);
            Console.WriteLine("{0}, {1}, {2}", instance.a, instance.b, instance.c);
        }

        public static void MulticastApproach()
        {
            var lambdas = new DoInitialize[] {
                    i => i.a = 1,
                    i => i.b = 2,
                    i => i.c = 42, };

            var instance = new MyType((DoInitialize) Delegate.Combine(lambdas.ToArray()));
            Console.WriteLine("{0}, {1}, {2}", instance.a, instance.b, instance.c);
        }

        public static void Main(string[] args)
        {
            LambdaApproach();
            MulticastApproach();
        }
    }

}

```