Microsoft.CSharp.RuntimeBinder.SymbolTable.LoadClassTypeParameter C# (CSharp) 메소드

LoadClassTypeParameter() 개인적인 메소드

private LoadClassTypeParameter ( AggregateSymbol parent, Type t ) : Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterType
parent Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol
t System.Type
리턴 Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterType
        private TypeParameterType LoadClassTypeParameter(AggregateSymbol parent, Type t)
        {
            for (AggregateSymbol p = parent; p != null; p = p.parent.IsAggregateSymbol() ? p.parent.AsAggregateSymbol() : null)
            {
                for (TypeParameterSymbol typeParam = _bsymmgr.LookupAggMember(
                        GetName(t), p, symbmask_t.MASK_TypeParameterSymbol) as TypeParameterSymbol;
                    typeParam != null;
                    typeParam = BSYMMGR.LookupNextSym(typeParam, p, symbmask_t.MASK_TypeParameterSymbol) as TypeParameterSymbol)
                {
                    if (AreTypeParametersEquivalent(typeParam.GetTypeParameterType().AssociatedSystemType, t))
                    {
                        return typeParam.GetTypeParameterType();
                    }
                }
            }
            return AddTypeParameterToSymbolTable(parent, null, t, true);
        }