using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel.Channels;

namespace PersonalServiceExtensions
{
    public class CustomBindingElement : BindingElement
    {
        public override BindingElement Clone()
        {
            Console.WriteLine("Clone");
            return new CustomBindingElement();
        }

        public override T GetProperty<T>(BindingContext context)
        {
            T result = context.GetInnerProperty<T>();
            Console.WriteLine("GetProperty of type {0}. Result id {1}.",typeof(T).Name, result);
            return result;
        }
    }
}
