GraphZen
  • Home
  • Blog
  • Documentation
  • API
  • Get Started
  • GraphZen.TypeSystem
  • InterfaceType
Show / Hide Table of Contents
  • GraphZen
    • DocumentValidator
    • GraphQLCanBeNullAttribute
    • GraphQLContext
    • GraphQLContextOptions
    • GraphQLContextOptions<TContext>
    • GraphQLContextOptionsBuilder
    • GraphQLContextOptionsBuilder<TContext>
    • GraphQLDeprecatedAttribute
    • GraphQLError
    • GraphQLException
    • GraphQLIgnoreAttribute
    • GraphQLListItemCanBeNullAttribute
    • GraphQLListItemNonNullAttribute
    • GraphQLNameAttribute
    • GraphQLNonNullAttribute
    • GraphQLObjectAttribute
    • GraphQLTypeAttribute
    • GraphQLUnionAttribute
    • GraphZenApplicationBuilderExtensions
    • GraphZenServiceCollectionExtensions
    • IDocumentValidator
    • IGraphQLDirective
    • PlaygroundApplicationBuilderExtensions
    • Program
  • GraphZen.CodeGen
    • CodeGenHelpers
    • CodeGenStringBuilderExtensions
    • CodeGenTasks
  • GraphZen.LanguageModel
    • ArgumentSyntax
    • ArgumentSyntaxExtensions
    • BooleanValueSyntax
    • BooleanValueSyntaxExtensions
    • Break
    • ContinueAction
    • DefinitionSyntax
    • DirectiveDefinitionSyntax
    • DirectiveDefinitionSyntaxExtensions
    • DirectiveLocation
    • DirectiveSyntax
    • DirectiveSyntaxExtensions
    • DocumentSyntax
    • DocumentSyntaxExtensions
    • EnumTypeDefinitionSyntax
    • EnumTypeDefinitionSyntaxExtensions
    • EnumTypeExtensionSyntax
    • EnumTypeExtensionSyntaxExtensions
    • EnumValueDefinitionSyntax
    • EnumValueDefinitionSyntaxExtensions
    • EnumValueSyntax
    • EnumValueSyntaxExtensions
    • ExecutableDefinitionSyntax
    • FieldDefinitionSyntax
    • FieldDefinitionSyntaxExtensions
    • FieldSyntax
    • FieldSyntaxExtensions
    • FloatValueSyntax
    • FloatValueSyntaxExtensions
    • FragmentDefinitionSyntax
    • FragmentDefinitionSyntaxExtensions
    • FragmentSpreadSyntax
    • FragmentSpreadSyntaxExtensions
    • GraphQLSyntaxVisitor
    • GraphQLSyntaxVisitor<TResult>
    • GraphQLSyntaxWalker
    • GraphQLSyntaxWalker<TResult>
    • IArgumentsNode
    • IDescribedSyntax
    • IDirectivesSyntax
    • IFieldsNode
    • IFragmentTypeConditionSyntax
    • INamedSyntax
    • InlineFragmentSyntax
    • InlineFragmentSyntaxExtensions
    • InputObjectTypeDefinitionSyntax
    • InputObjectTypeDefinitionSyntaxExtensions
    • InputObjectTypeExtensionSyntax
    • InputObjectTypeExtensionSyntaxExtensions
    • InputValueDefinitionSyntax
    • InputValueDefinitionSyntaxExtensions
    • InterfaceTypeDefinitionSyntax
    • InterfaceTypeDefinitionSyntaxExensions
    • InterfaceTypeDefinitionSyntaxExtensions
    • InterfaceTypeExtensionSyntax
    • InterfaceTypeExtensionSyntaxExtensions
    • IntValueSyntax
    • IntValueSyntaxExtensions
    • IParser
    • IPrinter
    • ISyntaxNodeLocation
    • ListTypeSyntax
    • ListTypeSyntaxExtensions
    • ListValueSyntax
    • ListValueSyntaxExtensions
    • NamedSyntaxExtensions
    • NamedTypeSyntax
    • NamedTypeSyntaxExtensions
    • NameSyntax
    • NameSyntaxExtensions
    • NonNullTypeSyntax
    • NonNullTypeSyntaxExtensions
    • NullableTypeSyntax
    • NullValueSyntax
    • NullValueSyntaxExtensions
    • ObjectFieldSyntax
    • ObjectFieldSyntaxExtensions
    • ObjectTypeDefinitionSyntax
    • ObjectTypeDefinitionSyntaxExtensions
    • ObjectTypeExtensionSyntax
    • ObjectTypeExtensionSyntaxExtensions
    • ObjectValueSyntax
    • ObjectValueSyntaxExtensions
    • OperationDefinitionSyntax
    • OperationDefinitionSyntaxExtensions
    • OperationType
    • OperationTypeDefinitionSyntax
    • OperationTypeDefinitionSyntaxExtensions
    • ParallelSyntaxWalker
    • PunctuatorSyntax
    • PunctuatorSyntaxExtensions
    • ScalarTypeDefinitionSyntax
    • ScalarTypeDefinitionSyntaxExtensions
    • ScalarTypeExtensionSyntax
    • ScalarTypeExtensionSyntaxExtensions
    • SchemaDefinitionSyntax
    • SchemaDefinitionSyntaxExtensions
    • SchemaExtensionSyntax
    • SchemaExtensionSyntaxExtensions
    • SelectionSetSyntax
    • SelectionSetSyntaxExtensions
    • SelectionSyntax
    • Skip
    • Source
    • SourceLocation
    • StringValueSyntax
    • StringValueSyntaxExtensions
    • SyntaxFactory
    • SyntaxKind
    • SyntaxLocation
    • SyntaxNode
    • SyntaxNodeExtensions
    • TypeDefinitionSyntax
    • TypeExtensionSyntax
    • TypeSyntax
    • TypeSystemDefinitionSyntax
    • TypeSystemExtensionSyntax
    • UnionTypeDefinitionSyntax
    • UnionTypeDefinitionSyntaxExtensions
    • UnionTypeExtensionSyntax
    • UnionTypeExtensionSyntaxExtensions
    • ValueSyntax
    • VariableDefinitionSyntax
    • VariableDefinitionSyntaxExtensions
    • VariableSyntax
    • VariableSyntaxExtensions
    • VisitAction
    • VistitorContext
  • GraphZen.LanguageModel.Validation
    • DocumentValidationContext
    • DocumentValidationRules
    • DocumentValidationRuleVisitor
    • ParallelValidationVisitor
    • ValidationContext
    • ValidationRule
    • ValidationRuleVisitor
  • GraphZen.LanguageModel.Validation.Rules
    • EnumTypesMustBeWellDefined
    • FieldArgsMustBeProperlyNamed
    • FieldArgumentsMustHaveInputTypes
    • InputObjectFieldsMustHaveInputTypes
    • InputObjectsMustHaveFields
    • InterfaceExtensionsShouldBeValid
    • InterfaceFieldsMustHaveOutputTypes
    • LoneSchemaDefinition
    • ObjectFieldsMustHaveOutputTypes
    • ObjectsCanOnlyImplementUniqueInterfaces
    • ObjectsMustAdhereToInterfaceTheyImplement
    • ObjectsMustHaveFields
    • SchemaMustHaveRootObjectTypes
    • UnionTypesMustBeValid
  • GraphZen.QueryEngine
    • ExecutionOptions
    • ExecutionResult
    • Executor
    • IExecutionContext
    • IExecutor
  • GraphZen.QueryEngine.Validation
    • IQueryValidator
    • QueryValidationContext
    • QueryValidationRules
    • QueryValidationRuleVisitor
    • QueryValidator
  • GraphZen.QueryEngine.Validation.Rules
    • ExecutableDefinitions
    • FieldsOnCorrectType
    • FragmentsOnCompositeTypes
    • InputDocumentNonConflictingVariableInference
    • KnownArgumentNames
    • KnownDirectives
    • KnownFragmentNames
    • KnownTypeNames
    • LoneAnonymousOperation
    • NoFragmentCycles
    • NoUndefinedVariables
    • NoUnusedFragments
    • NoUnusedVariables
    • OverlappingFieldsCanBeMerged
    • PossibleFragmentSpreads
    • ProvidedRequiredArguments
    • ScalarLeafs
    • SingleFieldSubscriptions
    • UniqueArgumentNames
    • UniqueDirectivesPerLocation
    • UniqueFragmentNames
    • UniqueInputFieldNames
    • UniqueOperationNames
    • UniqueVariableNames
    • ValuesOfCorrectType
    • VariablesAreInputTypes
    • VariablesInAllowedPosition
  • GraphZen.TypeSystem
    • AnnotatableMember
    • AnnotatableMemberDefinition
    • Argument
    • ArgumentDefinition
    • DefaultIDirectiveAnnotationSyntaxConverter
    • DeprecatedBuilderExtensions
    • Directive
    • DirectiveAnnotation
    • DirectiveBuilder<TDirective>
    • DirectiveDefinition
    • DirectiveDefinitionArgumentsAccessorExtensions
    • EnumType
    • EnumTypeBuilder<TEnum>
    • EnumTypeDefinition
    • EnumTypeDefinitionValuesAccessorExtensions
    • EnumTypeValuesAccessorExtensions
    • EnumTypeValuesByValueAccessorExtensions
    • EnumValue
    • EnumValueBuilder
    • EnumValueDefinition
    • Field
    • FieldArgumentsAccessorExtensions
    • FieldBuilder<TDeclaringType, TField, TContext>
    • FieldDefinition
    • FieldDefinitionArgumentsAccessorExtensions
    • FieldsDefinition
    • FieldsDefinitionFieldsAccessorExtensions
    • GraphQLTypeExtensions
    • GraphQLTypes
    • IAnnotableBuilder<TBuilder>
    • IArgumentsArgumentsAccessorExtensions
    • IArgumentsDefinitionBuilder<TBuilder>
    • IDirectiveBuilder<TDirective>
    • IEnumTypeBuilder<TEnumValue>
    • IEnumValueBuilder
    • IFieldBuilder<TDeclaringType, TField, TContext>
    • IFieldsDefinitionBuilder<TBuilder, TSource, TContext>
    • IInputObjectTypeBuilder<TInputObject>
    • IInterfaceTypeBuilder<TInterface, TContext>
    • InputField
    • InputFieldDefinition
    • InputObjectType
    • InputObjectTypeBuilder<TInputObject>
    • InputObjectTypeDefinition
    • InputObjectTypeDefinitionFieldsAccessorExtensions
    • InputObjectTypeFieldsAccessorExtensions
    • InputValue
    • InputValueBuilder
    • InputValueDefinition
    • InterfaceType
    • InterfaceTypeBuilder<TInterface, TContext>
    • InterfaceTypeDefinition
    • InterfaceTypeDefinitionFieldsAccessorExtensions
    • InterfaceTypeFieldsAccessorExtensions
    • Introspection
    • IObjectTypeBuilder<TObject, TContext>
    • IScalarTypeBuilder<TScalar, TValueNode>
    • ISchemaBuilder<TContext>
    • IsTypeOf<TObject, TContext>
    • ISyntaxConverter
    • IUnionTypeBuilder<TUnion, TContext>
    • LeafLiteralParser<TScalar, TValueNode>
    • LeafSerializer
    • LeafSerializer<TScalar>
    • LeafValueParser
    • LeafValueParser<TScalar>
    • ListType
    • Member
    • MemberDefinition
    • NamedType
    • NamedTypeDefinition
    • NonNullType
    • ObjectType
    • ObjectTypeBuilder<TObject, TContext>
    • ObjectTypeDefinition
    • ObjectTypeDefinitionFieldsAccessorExtensions
    • ObjectTypeFieldsAccessorExtensions
    • Resolver<TSource, TResult>
    • ScalarType
    • ScalarTypeBuilder<TScalar, TValueNode>
    • ScalarTypeDefinition
    • Schema
    • SchemaBuilder
    • SchemaBuilder<TContext>
    • SchemaBuilderExtensions
    • SchemaDefinition
    • SchemaDefinitionExtensions
    • SchemaExtensions
    • SchemaPrinter
    • SpecDirectives
    • SpecScalars
    • SyntaxConverter
    • SyntaxHelpers
    • TypeComparators
    • TypeIdentity
    • TypeKind
    • TypeKindHelpers
    • TypeReference
    • TypeResolver
    • TypeResolver<TSource, TContext>
    • UnionType
    • UnionTypeBuilder<TUnion, TContext>
    • UnionTypeDefinition
  • GraphZen.TypeSystem.Taxonomy
    • IAbstractType
    • IAbstractTypeDefinition
    • IAnnotatableDefinition
    • IArgument
    • IArgumentDefinition
    • IArguments
    • IArgumentsDefinition
    • IClrInfo
    • IClrType
    • ICompositeType
    • ICompositeTypeDefinition
    • IDeprecation
    • IDescription
    • IDirective
    • IDirectiveAnnotation
    • IDirectiveAnnotations
    • IDirectiveAnnotationsDefinition
    • IDirectiveDefinition
    • IDirectiveLocations
    • IDirectiveLocationsDefinition
    • IDirectives
    • IDirectivesDefinition
    • IEnumType
    • IEnumTypeDefinition
    • IEnumTypes
    • IEnumTypesDefinition
    • IEnumValue
    • IEnumValueDefinition
    • IEnumValues
    • IEnumValuesDefinition
    • IField
    • IFieldDefinition
    • IFields
    • IFieldsDefinition
    • IGraphQLType
    • IGraphQLTypeReference
    • IInputDefinition
    • IInputField
    • IInputFieldDefinition
    • IInputFields
    • IInputFieldsDefinition
    • IInputObjectType
    • IInputObjectTypeDefinition
    • IInputObjectTypes
    • IInputObjectTypesDefinition
    • IInputValue
    • IInputValueDefinition
    • IInterfaces
    • IInterfacesDefinition
    • IInterfaceType
    • IInterfaceTypeDefinition
    • IInterfaceTypes
    • IInterfaceTypesDefinition
    • ILeafType
    • ILeafTypeDefinition
    • IListType
    • ILiteralParser
    • ILiteralParserDefinition
    • IMember
    • IMemberDefinition
    • IMemberTypes
    • IMemberTypesDefinition
    • IMutableAbstractTypeDefinition
    • IMutableAnnotatableDefinition
    • IMutableArgumentDefinition
    • IMutableArgumentsDefinition
    • IMutableClrType
    • IMutableDefinition
    • IMutableDeprecation
    • IMutableDescription
    • IMutableDirectiveAnnotationsDefinition
    • IMutableDirectiveDefinition
    • IMutableDirectiveLocationsDefinition
    • IMutableDirectivesDefinition
    • IMutableEnumTypeDefinition
    • IMutableEnumTypesDefinition
    • IMutableEnumValueDefinition
    • IMutableEnumValuesDefinition
    • IMutableFieldDefinition
    • IMutableFieldsDefinition
    • IMutableInputFieldDefinition
    • IMutableInputFieldsDefinition
    • IMutableInputObjectTypeDefinition
    • IMutableInputObjectTypesDefinition
    • IMutableInputValueDefinition
    • IMutableInterfacesDefinition
    • IMutableInterfaceTypeDefinition
    • IMutableInterfaceTypesDefinition
    • IMutableLiteralParserDefinition
    • IMutableMemberTypesDefinition
    • IMutableMutationTypeDefinition
    • IMutableNamed
    • IMutableNamedTypeDefinition
    • IMutableObjectTypeDefinition
    • IMutableObjectTypesDefinition
    • IMutableQueryTypeDefinition
    • IMutableScalarTypeDefinition
    • IMutableScalarTypesDefinition
    • IMutableSchemaDefinition
    • IMutableSerializerDefinition
    • IMutableSubscriptionTypeDefinition
    • IMutableUnionTypeDefinition
    • IMutableUnionTypesDefinition
    • IMutableValueParserDefinition
    • IMutationType
    • IMutationTypeDefinition
    • INamed
    • INamedType
    • INamedTypeDefinition
    • INamedTypeReference
    • INonNullType
    • INullableType
    • IObjectType
    • IObjectTypeDefinition
    • IObjectTypes
    • IObjectTypesDefinition
    • IOutputDefinition
    • IQueryType
    • IQueryTypeDefinition
    • IScalarType
    • IScalarTypeDefinition
    • IScalarTypes
    • IScalarTypesDefinition
    • ISchema
    • ISchemaDefinition
    • ISerializer
    • ISerializerDefinition
    • ISubscriptionType
    • ISubscriptionTypeDefinition
    • ISyntaxConvertable
    • IUnionType
    • IUnionTypeDefinition
    • IUnionTypes
    • IUnionTypesDefinition
    • IValueParser
    • IValueParserDefinition
    • IWrappingNullableType
    • IWrappingType
  • GraphZen.Utilities
    • Helpers
    • TypeInfo

Class InterfaceType

Inheritance
Object
Member
AnnotatableMember
NamedType
InterfaceType
Implements
IInterfaceType
IInterfaceTypeDefinition
IOutputDefinition
ICompositeType
ICompositeTypeDefinition
IAbstractType
IAbstractTypeDefinition
IFields
IFieldsDefinition
INamedType
INamedTypeDefinition
IMemberDefinition
IDescription
INamedTypeReference
INamed
IDirectiveAnnotations
IDirectiveAnnotationsDefinition
IClrType
INullableType
IGraphQLType
IGraphQLTypeReference
ISyntaxConvertable
Inherited Members
NamedType.Name
NamedType.Description
NamedType.ClrType
NamedType.From(INamedTypeDefinition, Schema)
NamedType.ToString()
AnnotatableMember.GetDirectiveAnnotations()
AnnotatableMember.FindDirectiveAnnotation(String)
AnnotatableMember.DirectiveAnnotations
Namespace: GraphZen.TypeSystem
Assembly: GraphZen.TypeSystem.dll
Syntax
public class InterfaceType : NamedType, IInterfaceType, IInterfaceTypeDefinition, IOutputDefinition, ICompositeType, ICompositeTypeDefinition, IAbstractType, IAbstractTypeDefinition, IFields, IFieldsDefinition, INamedType, INamedTypeDefinition, IMemberDefinition, IDescription, INamedTypeReference, INamed, IDirectiveAnnotations, IDirectiveAnnotationsDefinition, IClrType, INullableType, IGraphQLType, IGraphQLTypeReference, ISyntaxConvertable

Constructors

InterfaceType(String, String, Type, IEnumerable<IFieldDefinition>, TypeResolver<Object, GraphQLContext>, IReadOnlyList<IDirectiveAnnotation>, Schema)

Declaration
public InterfaceType(string name, string description, Type clrType, IEnumerable<IFieldDefinition> fields, TypeResolver<object, GraphQLContext> resolveType, IReadOnlyList<IDirectiveAnnotation> directives, Schema schema)
Parameters
Type Name Description
String name
String description
Type clrType
IEnumerable<IFieldDefinition> fields
TypeResolver<Object, GraphQLContext> resolveType
IReadOnlyList<IDirectiveAnnotation> directives
Schema schema

Properties

DirectiveLocation

Declaration
public override DirectiveLocation DirectiveLocation { get; }
Property Value
Type Description
DirectiveLocation
Overrides
AnnotatableMember.DirectiveLocation

Fields

Declaration
public IReadOnlyDictionary<string, Field> Fields { get; }
Property Value
Type Description
IReadOnlyDictionary<String, Field>

Kind

Declaration
public override TypeKind Kind { get; }
Property Value
Type Description
TypeKind
Overrides
NamedType.Kind

ResolveType

Declaration
public TypeResolver<object, GraphQLContext> ResolveType { get; }
Property Value
Type Description
TypeResolver<Object, GraphQLContext>

Methods

From(IInterfaceTypeDefinition, Schema)

Declaration
public static InterfaceType From(IInterfaceTypeDefinition definition, Schema schema)
Parameters
Type Name Description
IInterfaceTypeDefinition definition
Schema schema
Returns
Type Description
InterfaceType

GetFields()

Declaration
public IEnumerable<Field> GetFields()
Returns
Type Description
IEnumerable<Field>

ToSyntaxNode()

Declaration
public override SyntaxNode ToSyntaxNode()
Returns
Type Description
SyntaxNode
Overrides
Member.ToSyntaxNode()

Explicit Interface Implementations

IFieldsDefinition.GetFields()

Declaration
IEnumerable<IFieldDefinition> IFieldsDefinition.GetFields()
Returns
Type Description
IEnumerable<IFieldDefinition>

Implements

IInterfaceType
IInterfaceTypeDefinition
IOutputDefinition
ICompositeType
ICompositeTypeDefinition
IAbstractType
IAbstractTypeDefinition
IFields
IFieldsDefinition
INamedType
INamedTypeDefinition
IMemberDefinition
IDescription
INamedTypeReference
INamed
IDirectiveAnnotations
IDirectiveAnnotationsDefinition
IClrType
INullableType
IGraphQLType
IGraphQLTypeReference
ISyntaxConvertable

Extension Methods

GraphQLTypeExtensions.Print(ISyntaxConvertable)
GraphQLTypeExtensions.IsInputType(IGraphQLTypeReference)
GraphQLTypeExtensions.IsOutputType(IGraphQLTypeReference)
GraphQLTypeExtensions.GetNamedType(IGraphQLType)
GraphQLTypeExtensions.GetNullableType(IGraphQLType)
SyntaxHelpers.ToTypeSyntax(IGraphQLType)
TypeComparators.IsSubtypeOf(IGraphQLType, IGraphQLType, Schema)
InterfaceTypeFieldsAccessorExtensions.FindField(InterfaceType, String)
InterfaceTypeFieldsAccessorExtensions.HasField(InterfaceType, String)
InterfaceTypeFieldsAccessorExtensions.GetField(InterfaceType, String)
InterfaceTypeFieldsAccessorExtensions.TryGetField(InterfaceType, String, out Field)
Back to top Copyright © 2017-2019 GraphZen LLC