using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace NIDAQmx
{
    public abstract class DAQmxBase
    {
        private protected readonly DAQmxSession _Session;
        internal DAQmxBase(DAQmxSession session)
        {
            _Session = session;
        }
        protected private T GetDelagate<T>()where T :Delegate
        {
            T val = _Session.GetDelegate<T>();
            if(val ==null) throw new EntryPointNotFoundException(typeof(T).Name);
            return val;
        }
    }

}
