ShaderTools.Hlsl.Symbols.IntrinsicFunctions.Create3 C# (CSharp) Method

Create3() private static method

private static Create3 ( string name, string documentation, TypeSymbol types, string parameterName1, string parameterDocumentation1, string parameterName2, string parameterDocumentation2, string parameterName3, string parameterDocumentation3, TypeSymbol overrideReturnType = null, TypeSymbol overrideParameterType2 = null, TypeSymbol overrideParameterType3 = null, ParameterDirection overrideParameterDirection2 = ParameterDirection.In, ParameterDirection overrideParameterDirection3 = ParameterDirection.In ) : IEnumerable
name string
documentation string
types TypeSymbol
parameterName1 string
parameterDocumentation1 string
parameterName2 string
parameterDocumentation2 string
parameterName3 string
parameterDocumentation3 string
overrideReturnType TypeSymbol
overrideParameterType2 TypeSymbol
overrideParameterType3 TypeSymbol
overrideParameterDirection2 ParameterDirection
overrideParameterDirection3 ParameterDirection
return IEnumerable
        private static IEnumerable<FunctionSymbol> Create3(
            string name, string documentation, TypeSymbol[] types,
            string parameterName1, string parameterDocumentation1,
            string parameterName2, string parameterDocumentation2,
            string parameterName3, string parameterDocumentation3,
            TypeSymbol overrideReturnType = null,
            TypeSymbol overrideParameterType2 = null,
            TypeSymbol overrideParameterType3 = null,
            ParameterDirection overrideParameterDirection2 = ParameterDirection.In,
            ParameterDirection overrideParameterDirection3 = ParameterDirection.In)
        {
            return types.Select(type => new FunctionSymbol(
                name, documentation, null, overrideReturnType ?? type,
                f => new[]
                {
                    new ParameterSymbol(parameterName1, parameterDocumentation1, f, type),
                    new ParameterSymbol(parameterName2, parameterDocumentation2, f, overrideParameterType2 ?? type, overrideParameterDirection2),
                    new ParameterSymbol(parameterName3, parameterDocumentation3, f, overrideParameterType3 ?? type, overrideParameterDirection3)
                }));
        }