using System; using System.Reflection; namespace JD.Reflection.MefImplementations.Model.Internal { internal struct LazyMemberInfo { #region Variables private readonly Func m_memberProvider; private MemberInfo m_resolvedMember; #endregion #region Constructor public LazyMemberInfo(MemberInfo member) { m_memberProvider = null; m_resolvedMember = member; } public LazyMemberInfo(Func memberProvider) { m_memberProvider = memberProvider; m_resolvedMember = null; } #endregion #region Properties public MemberInfo Member { get { if (m_resolvedMember == null && m_memberProvider != null) { m_resolvedMember = m_memberProvider(); } return m_resolvedMember; } } #endregion } }