public new TypeDetails GetType()
        {
            MethodDef           method       = _remove ?? _add;
            ParamSignatureToken delegateType = method.Signiture.GetParameterTokens()[0];
            TypeDetails         details      = delegateType.GetTypeDetails(method);

            return(details);
        }
        public new TypeDetails GetType()
        {
            TypeDetails details = null;

            if (_get != null)
            {
                ReturnTypeSignatureToken returnType = (ReturnTypeSignatureToken)_get.Signiture.Tokens.Find(
                    t => t.TokenType == SignatureTokens.ReturnType
                    );
                details = returnType.GetTypeDetails(_get);
            }
            else
            {
                ParamSignatureToken delegateType = _set.Signiture.GetParameterTokens()[0];
                details = delegateType.GetTypeDetails(_set);
            }
            return(details);
        }