示例#1
0
        internal override void Link(RSTypeAssembly inAssembly)
        {
            m_MethodSettings.Configure(m_MethodInfo, m_Parameters, true);
            OwnerType = m_MethodSettings.BoundType;

            ReturnType     = RSInterop.RSTypeFor(m_MethodInfo.ReturnType, inAssembly);
            m_DefaultValue = m_DefaultSystemValue != null?RSInterop.ToRSValue(m_DefaultSystemValue) : ReturnType.DefaultValue;

            GenerateParameters(inAssembly);
        }
示例#2
0
        internal void Link(RSTypeAssembly inAssembly)
        {
            Type = RSInterop.RSTypeFor(m_ParameterType, inAssembly);
            if (m_ParameterInfo != null && m_ParameterInfo.HasDefaultValue)
            {
                Default = RSInterop.ToRSValue(m_ParameterInfo.DefaultValue);
            }
            else
            {
                Default = Type.DefaultValue;
            }

            if (m_TriggerParameterType != null)
            {
                TriggerParameterType = RSInterop.RSTypeFor(m_TriggerParameterType, inAssembly);
            }
        }
        public RSTypeInfo TypeInfo(RSTriggerInfo inTriggerContext, RSLibrary inLibrary)
        {
            switch (Mode)
            {
            case ResolvableValueMode.Value:
                return(RSInterop.RSTypeFor(Value, inLibrary.TypeAssembly));

            case ResolvableValueMode.Query:
                return(inLibrary.GetQuery(Query.Id)?.ReturnType);

            case ResolvableValueMode.Argument:
                return(inTriggerContext?.ParameterType?.Type);

            case ResolvableValueMode.Register:
                return(RSBuiltInTypes.Any);

            default:
                throw new InvalidOperationException("Unknown ResolvableValueMode " + Mode);
            }
        }
 internal void Link(RSTypeAssembly inAssembly)
 {
     Type = RSInterop.RSTypeFor(m_FieldType, inAssembly);
 }