• InfluxDB.Client API
Show / Hide Table of Contents
  • InfluxDB.Client
    • AuthorizationsApi
    • BucketsApi
    • ChecksApi
    • DeleteApi
    • IAuthorizationsApi
    • IBucketsApi
    • IChecksApi
    • IDeleteApi
    • IDomainObjectMapper
    • IInfluxDBClient
    • IInvokableScriptsApi
    • ILabelsApi
    • InfluxDBClient
    • InfluxDBClientFactory
    • InfluxDBClientOptions
    • InfluxDBClientOptions.AuthenticationScheme
    • InfluxDBClientOptions.Builder
    • INotificationEndpointsApi
    • INotificationRulesApi
    • InvokableScriptsApi
    • IOrganizationsApi
    • IQueryApi
    • IQueryApiSync
    • IScraperTargetsApi
    • ISourcesApi
    • ITasksApi
    • ITelegrafsApi
    • IUsersApi
    • IWriteApi
    • IWriteApiAsync
    • LabelsApi
    • NotificationEndpointsApi
    • NotificationRulesApi
    • OrganizationsApi
    • QueryApi
    • QueryApiSync
    • ScraperTargetsApi
    • SourcesApi
    • TasksApi
    • TelegrafsApi
    • UsersApi
    • WriteApi
    • WriteApiAsync
    • WriteOptions
    • WriteOptions.Builder
  • InfluxDB.Client.Api.Domain
    • AddResourceMemberRequestBody
    • AnalyzeQueryResponse
    • AnalyzeQueryResponseErrors
    • ArrayExpression
    • ArrayExpression.ArrayExpressionElementsAdapter
    • ASTResponse
    • Authorization
    • AuthorizationLinks
    • AuthorizationPostRequest
    • Authorizations
    • AuthorizationUpdateRequest
    • AuthorizationUpdateRequest.StatusEnum
    • Axes
    • Axis
    • Axis.BaseEnum
    • AxisScale
    • BadStatement
    • BandViewProperties
    • BandViewProperties.HoverDimensionEnum
    • BandViewProperties.ShapeEnum
    • BandViewProperties.TypeEnum
    • BinaryExpression
    • BinaryExpression.BinaryExpressionLeftAdapter
    • BinaryExpression.BinaryExpressionRightAdapter
    • Block
    • Block.BlockBodyAdapter
    • BooleanLiteral
    • Bucket
    • Bucket.TypeEnum
    • BucketLinks
    • BucketMetadataManifest
    • BucketRetentionRules
    • BucketRetentionRules.TypeEnum
    • Buckets
    • BucketShardMapping
    • BuilderAggregateFunctionType
    • BuilderConfig
    • BuilderConfigAggregateWindow
    • BuilderFunctionsType
    • BuilderTagsType
    • BuiltinStatement
    • CallExpression
    • CallExpression.CallExpressionArgumentsAdapter
    • CallExpression.CallExpressionCalleeAdapter
    • Cell
    • CellLinks
    • CellUpdate
    • CellWithViewProperties
    • Check
    • CheckBase
    • CheckBase.LastRunStatusEnum
    • CheckBaseLinks
    • CheckDiscriminator
    • CheckPatch
    • CheckPatch.StatusEnum
    • Checks
    • CheckStatusLevel
    • CheckViewProperties
    • CheckViewProperties.ShapeEnum
    • CheckViewProperties.TypeEnum
    • ConditionalExpression
    • ConditionalExpression.ConditionalExpressionAlternateAdapter
    • ConditionalExpression.ConditionalExpressionConsequentAdapter
    • ConditionalExpression.ConditionalExpressionTestAdapter
    • Config
    • ConstantVariableProperties
    • ConstantVariableProperties.TypeEnum
    • CreateCell
    • CreateDashboardRequest
    • CustomCheck
    • CustomCheck.TypeEnum
    • Dashboard
    • DashboardColor
    • DashboardColor.TypeEnum
    • DashboardLinks
    • DashboardMeta
    • DashboardQuery
    • Dashboards
    • DashboardWithViewProperties
    • DateTimeLiteral
    • DBRP
    • DBRPCreate
    • DBRPGet
    • DBRPs
    • DBRPUpdate
    • DeadmanCheck
    • DeadmanCheck.TypeEnum
    • DecimalPlaces
    • DeletePredicateRequest
    • Dialect
    • Dialect.AnnotationsEnum
    • Dialect.DateTimeFormatEnum
    • DictExpression
    • DictItem
    • DictItem.DictItemKeyAdapter
    • DictItem.DictItemValAdapter
    • Duration
    • DurationLiteral
    • Error
    • Error.CodeEnum
    • Expression
    • ExpressionStatement
    • ExpressionStatement.ExpressionStatementExpressionAdapter
    • Field
    • Field.TypeEnum
    • File
    • File.FileBodyAdapter
    • FloatLiteral
    • FluxResponse
    • FluxSuggestion
    • FluxSuggestions
    • FunctionExpression
    • FunctionExpression.FunctionExpressionBodyAdapter
    • GaugeViewProperties
    • GaugeViewProperties.ShapeEnum
    • GaugeViewProperties.TypeEnum
    • GreaterThreshold
    • GreaterThreshold.TypeEnum
    • HealthCheck
    • HealthCheck.StatusEnum
    • HeatmapViewProperties
    • HeatmapViewProperties.ShapeEnum
    • HeatmapViewProperties.TypeEnum
    • HistogramViewProperties
    • HistogramViewProperties.PositionEnum
    • HistogramViewProperties.ShapeEnum
    • HistogramViewProperties.TypeEnum
    • HTTPNotificationEndpoint
    • HTTPNotificationEndpoint.AuthMethodEnum
    • HTTPNotificationEndpoint.MethodEnum
    • HTTPNotificationRule
    • HTTPNotificationRuleBase
    • HTTPNotificationRuleBase.TypeEnum
    • Identifier
    • ImportDeclaration
    • IndexExpression
    • IndexExpression.IndexExpressionArrayAdapter
    • IndexExpression.IndexExpressionIndexAdapter
    • IntegerLiteral
    • IsOnboarding
    • Label
    • LabelCreateRequest
    • LabelMapping
    • LabelResponse
    • LabelsResponse
    • LabelUpdate
    • LanguageRequest
    • LegacyAuthorizationPostRequest
    • LesserThreshold
    • LesserThreshold.TypeEnum
    • LinePlusSingleStatProperties
    • LinePlusSingleStatProperties.HoverDimensionEnum
    • LinePlusSingleStatProperties.PositionEnum
    • LinePlusSingleStatProperties.ShapeEnum
    • LinePlusSingleStatProperties.TypeEnum
    • LineProtocolError
    • LineProtocolError.CodeEnum
    • LineProtocolLengthError
    • LineProtocolLengthError.CodeEnum
    • Links
    • ListStacksResponse
    • LogEvent
    • LogicalExpression
    • LogicalExpression.LogicalExpressionLeftAdapter
    • LogicalExpression.LogicalExpressionRightAdapter
    • Logs
    • MapVariableProperties
    • MapVariableProperties.TypeEnum
    • MarkdownViewProperties
    • MarkdownViewProperties.ShapeEnum
    • MarkdownViewProperties.TypeEnum
    • MemberAssignment
    • MemberAssignment.MemberAssignmentInitAdapter
    • MemberExpression
    • MemberExpression.MemberExpressionObjectAdapter
    • MemberExpression.MemberExpressionPropertyAdapter
    • MetadataBackup
    • MosaicViewProperties
    • MosaicViewProperties.HoverDimensionEnum
    • MosaicViewProperties.ShapeEnum
    • MosaicViewProperties.TypeEnum
    • Node
    • NotificationEndpoint
    • NotificationEndpointBase
    • NotificationEndpointBase.StatusEnum
    • NotificationEndpointBaseLinks
    • NotificationEndpointDiscriminator
    • NotificationEndpoints
    • NotificationEndpointType
    • NotificationEndpointUpdate
    • NotificationEndpointUpdate.StatusEnum
    • NotificationRule
    • NotificationRuleBase
    • NotificationRuleBase.LastRunStatusEnum
    • NotificationRuleBaseLinks
    • NotificationRuleDiscriminator
    • NotificationRules
    • NotificationRuleUpdate
    • NotificationRuleUpdate.StatusEnum
    • ObjectExpression
    • OnboardingRequest
    • OnboardingResponse
    • OptionStatement
    • OptionStatement.OptionStatementAssignmentAdapter
    • Organization
    • Organization.StatusEnum
    • OrganizationLinks
    • Organizations
    • Package
    • PackageClause
    • PagerDutyNotificationEndpoint
    • PagerDutyNotificationRule
    • PagerDutyNotificationRuleBase
    • PagerDutyNotificationRuleBase.TypeEnum
    • ParenExpression
    • ParenExpression.ParenExpressionExpressionAdapter
    • PasswordResetBody
    • PatchBucketRequest
    • PatchDashboardRequest
    • PatchOrganizationRequest
    • PatchRetentionRule
    • PatchRetentionRule.TypeEnum
    • PatchStackRequest
    • PatchStackRequestAdditionalResources
    • Permission
    • Permission.ActionEnum
    • PermissionResource
    • PipeExpression
    • PipeExpression.PipeExpressionArgumentAdapter
    • PipeLiteral
    • PostBucketRequest
    • PostOrganizationRequest
    • PostRestoreKVResponse
    • PostStackRequest
    • PostUser
    • PostUser.StatusEnum
    • Property
    • Property.PropertyKeyAdapter
    • Property.PropertyValueAdapter
    • PropertyKey
    • Query
    • Query.TypeEnum
    • QueryEditMode
    • QueryVariableProperties
    • QueryVariableProperties.TypeEnum
    • QueryVariablePropertiesValues
    • RangeThreshold
    • RangeThreshold.TypeEnum
    • Ready
    • Ready.StatusEnum
    • RegexpLiteral
    • RemoteConnection
    • RemoteConnectionCreationRequest
    • RemoteConnections
    • RemoteConnectionUpdateRequest
    • RenamableField
    • Replication
    • ReplicationCreationRequest
    • Replications
    • ReplicationUpdateRequest
    • ResourceMember
    • ResourceMember.RoleEnum
    • ResourceMembers
    • ResourceOwner
    • ResourceOwner.RoleEnum
    • ResourceOwners
    • RestoredBucketMappings
    • RetentionPolicyManifest
    • ReturnStatement
    • ReturnStatement.ReturnStatementArgumentAdapter
    • Routes
    • RoutesExternal
    • RoutesQuery
    • RoutesSystem
    • RuleStatusLevel
    • Run
    • Run.StatusEnum
    • RunLinks
    • RunManually
    • Runs
    • ScatterViewProperties
    • ScatterViewProperties.ShapeEnum
    • ScatterViewProperties.TypeEnum
    • SchemaType
    • ScraperTargetRequest
    • ScraperTargetRequest.TypeEnum
    • ScraperTargetResponse
    • ScraperTargetResponseLinks
    • ScraperTargetResponses
    • Script
    • ScriptCreateRequest
    • ScriptInvocationParams
    • ScriptLanguage
    • Scripts
    • ScriptUpdateRequest
    • SecretKeys
    • SecretKeysResponse
    • SecretKeysResponseLinks
    • ShardGroupManifest
    • ShardManifest
    • ShardOwner
    • SimpleTableViewProperties
    • SimpleTableViewProperties.ShapeEnum
    • SimpleTableViewProperties.TypeEnum
    • SingleStatViewProperties
    • SingleStatViewProperties.ShapeEnum
    • SingleStatViewProperties.TypeEnum
    • SlackNotificationEndpoint
    • SlackNotificationRule
    • SlackNotificationRuleBase
    • SlackNotificationRuleBase.TypeEnum
    • SMTPNotificationRule
    • SMTPNotificationRuleBase
    • SMTPNotificationRuleBase.TypeEnum
    • Source
    • Source.LanguagesEnum
    • Source.TypeEnum
    • SourceLinks
    • Sources
    • Stack
    • StackAssociations
    • StackEvents
    • StackLinks
    • StackResources
    • Statement
    • StaticLegend
    • StatusRule
    • StringLiteral
    • SubscriptionManifest
    • TableViewProperties
    • TableViewProperties.ShapeEnum
    • TableViewProperties.TypeEnum
    • TableViewPropertiesTableOptions
    • TableViewPropertiesTableOptions.WrappingEnum
    • TagRule
    • TagRule.OperatorEnum
    • TaskCreateRequest
    • TaskLinks
    • Tasks
    • TaskStatusType
    • TaskType
    • TaskType.LastRunStatusEnum
    • TaskUpdateRequest
    • Telegraf
    • TelegrafLinks
    • TelegrafPlugin
    • TelegrafPlugin.TypeEnum
    • TelegrafPluginRequest
    • TelegrafPluginRequestPlugins
    • TelegrafPlugins
    • TelegrafRequest
    • TelegrafRequestMetadata
    • Telegrafs
    • TelegramNotificationEndpoint
    • TelegramNotificationRule
    • TelegramNotificationRuleBase
    • TelegramNotificationRuleBase.ParseModeEnum
    • TelegramNotificationRuleBase.TypeEnum
    • TemplateApply
    • TemplateApplyRemotes
    • TemplateApplyTemplate
    • TemplateChart
    • TemplateChart.TemplateChartPropertiesAdapter
    • TemplateExportByID
    • TemplateExportByIDOrgIDs
    • TemplateExportByIDResourceFilters
    • TemplateExportByIDResources
    • TemplateKind
    • TemplateSummary
    • TemplateSummaryDiff
    • TemplateSummaryDiffBuckets
    • TemplateSummaryDiffBucketsNewOld
    • TemplateSummaryDiffChecks
    • TemplateSummaryDiffChecks.TemplateSummary_diff_checksNewAdapter
    • TemplateSummaryDiffChecks.TemplateSummary_diff_checksOldAdapter
    • TemplateSummaryDiffDashboards
    • TemplateSummaryDiffDashboardsNewOld
    • TemplateSummaryDiffLabelMappings
    • TemplateSummaryDiffLabels
    • TemplateSummaryDiffLabelsNewOld
    • TemplateSummaryDiffNotificationEndpoints
    • TemplateSummaryDiffNotificationEndpoints.TemplateSummary_diff_notificationEndpointsNewAdapter
    • TemplateSummaryDiffNotificationEndpoints.TemplateSummary_diff_notificationEndpointsOldAdapter
    • TemplateSummaryDiffNotificationRules
    • TemplateSummaryDiffNotificationRulesNewOld
    • TemplateSummaryDiffTasks
    • TemplateSummaryDiffTasksNewOld
    • TemplateSummaryDiffTelegrafConfigs
    • TemplateSummaryDiffVariables
    • TemplateSummaryDiffVariablesNewOld
    • TemplateSummaryDiffVariablesNewOld.TemplateSummary_Diff_variables_new_oldArgsAdapter
    • TemplateSummaryErrors
    • TemplateSummaryLabel
    • TemplateSummaryLabelProperties
    • TemplateSummarySummary
    • TemplateSummarySummaryBuckets
    • TemplateSummarySummaryDashboards
    • TemplateSummarySummaryLabelMappings
    • TemplateSummarySummaryNotificationRules
    • TemplateSummarySummaryStatusRules
    • TemplateSummarySummaryTagRules
    • TemplateSummarySummaryTasks
    • TemplateSummarySummaryVariables
    • TemplateSummarySummaryVariables.TemplateSummary_summary_variablesArgumentsAdapter
    • TestStatement
    • Threshold
    • ThresholdBase
    • ThresholdCheck
    • ThresholdCheck.TypeEnum
    • ThresholdCheckTags
    • UnaryExpression
    • UnaryExpression.UnaryExpressionArgumentAdapter
    • UnsignedIntegerLiteral
    • User
    • User.StatusEnum
    • UserLinks
    • Users
    • UsersLinks
    • Variable
    • Variable.VariableArgumentsAdapter
    • VariableAssignment
    • VariableAssignment.VariableAssignmentInitAdapter
    • VariableLinks
    • VariableProperties
    • Variables
    • View
    • View.ViewPropertiesAdapter
    • ViewLinks
    • ViewProperties
    • Views
    • WritePrecision
    • XYGeom
    • XYViewProperties
    • XYViewProperties.HoverDimensionEnum
    • XYViewProperties.PositionEnum
    • XYViewProperties.ShapeEnum
    • XYViewProperties.TypeEnum
  • InfluxDB.Client.Api.Service
    • AuthorizationsService
    • BackupService
    • BucketsService
    • CellsService
    • ChecksService
    • ConfigService
    • DashboardsService
    • DBRPsService
    • DeleteService
    • HealthService
    • IAuthorizationsService
    • IBackupService
    • IBucketsService
    • ICellsService
    • IChecksService
    • IConfigService
    • IDashboardsService
    • IDBRPsService
    • IDeleteService
    • IHealthService
    • IInvokableScriptsService
    • ILabelsService
    • ILegacyAuthorizationsService
    • IMetricsService
    • INotificationEndpointsService
    • INotificationRulesService
    • InvokableScriptsService
    • IOrganizationsService
    • IPingService
    • IQueryService
    • IReadyService
    • IRemoteConnectionsService
    • IReplicationsService
    • IResourcesService
    • IRestoreService
    • IRoutesService
    • IRulesService
    • IScraperTargetsService
    • ISecretsService
    • ISetupService
    • ISigninService
    • ISignoutService
    • ISourcesService
    • ITasksService
    • ITelegrafPluginsService
    • ITelegrafsService
    • ITemplatesService
    • IUsersService
    • IVariablesService
    • IViewsService
    • IWriteService
    • LabelsService
    • LegacyAuthorizationsService
    • MetricsService
    • NotificationEndpointsService
    • NotificationRulesService
    • OrganizationsService
    • PingService
    • QueryService
    • ReadyService
    • RemoteConnectionsService
    • ReplicationsService
    • ResourcesService
    • RestoreService
    • RoutesService
    • RulesService
    • ScraperTargetsService
    • SecretsService
    • SetupService
    • SigninService
    • SignoutService
    • SourcesService
    • TasksService
    • TelegrafPluginsService
    • TelegrafsService
    • TemplatesService
    • UsersService
    • VariablesService
    • ViewsService
    • WriteService
  • InfluxDB.Client.Core
    • Arguments
    • Column
    • LogLevel
    • Measurement
  • InfluxDB.Client.Core.Exceptions
    • BadGatewayException
    • BadRequestException
    • ForbiddenException
    • HttpException
    • HttpNotImplementedException
    • InfluxException
    • InternalServerErrorException
    • MethodNotAllowedException
    • NotAcceptableException
    • NotFoundException
    • PaymentRequiredException
    • ProxyAuthenticationRequiredException
    • RequestEntityTooLargeException
    • RequestTimeoutException
    • ServiceUnavailableException
    • TooManyRequestsException
    • UnauthorizedException
    • UnprocessableEntityException
  • InfluxDB.Client.Core.Flux.Domain
    • FluxColumn
    • FluxRecord
    • FluxTable
  • InfluxDB.Client.Core.Flux.Exceptions
    • FluxCsvParserException
    • FluxQueryException
  • InfluxDB.Client.Core.Flux.Serialization
    • AnnotatedCsvParser
    • IAnnotatedCsvParser
  • InfluxDB.Client.Domain
    • FindOptions
  • InfluxDB.Client.Flux
    • FluxClient
    • FluxClientFactory
    • FluxConnectionOptions
    • FluxConnectionOptions.AuthenticationType
    • IFluxClient
  • InfluxDB.Client.Linq
    • DefaultMemberNameResolver
    • IMemberNameResolver
    • InfluxDBQueryable<T>
    • MemberType
    • QueryableExtensions
    • QueryableOptimizerSettings
  • InfluxDB.Client.Writes
    • AbstractWriteEvent
    • InfluxDBEventArgs
    • PointData
    • PointData.Builder
    • PointSettings
    • WriteErrorEvent
    • WriteRetriableErrorEvent
    • WriteRuntimeExceptionEvent
    • WriteSuccessEvent

Class PointData.Builder

Inheritance
System.Object
PointData.Builder
Namespace: InfluxDB.Client.Writes
Assembly: InfluxDB.Client.dll
Syntax
public sealed class Builder : object

Methods

Field(String, Boolean)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, bool value)
Parameters
Type Name Description
System.String name

the field name

System.Boolean value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, Byte)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, byte value)
Parameters
Type Name Description
System.String name

the field name

System.Byte value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, Decimal)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, decimal value)
Parameters
Type Name Description
System.String name

the field name

System.Decimal value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, Double)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, double value)
Parameters
Type Name Description
System.String name

the field name

System.Double value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, Int64)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, long value)
Parameters
Type Name Description
System.String name

the field name

System.Int64 value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, Object)

Add a field with an value.

Declaration
public PointData.Builder Field(string name, object value)
Parameters
Type Name Description
System.String name

the field name

System.Object value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, Single)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, float value)
Parameters
Type Name Description
System.String name

the field name

System.Single value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, String)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, string value)
Parameters
Type Name Description
System.String name

the field name

System.String value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, UInt32)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, uint value)
Parameters
Type Name Description
System.String name

the field name

System.UInt32 value

the field value

Returns
Type Description
PointData.Builder

this

Field(String, UInt64)

Add a field with a value.

Declaration
public PointData.Builder Field(string name, ulong value)
Parameters
Type Name Description
System.String name

the field name

System.UInt64 value

the field value

Returns
Type Description
PointData.Builder

this

HasFields()

Has point any fields?

Declaration
public bool HasFields()
Returns
Type Description
System.Boolean

true, if the point contains any fields, false otherwise.

Measurement(String)

Create a new Point withe specified a measurement name.

Declaration
public static PointData.Builder Measurement(string measurementName)
Parameters
Type Name Description
System.String measurementName

the measurement name

Returns
Type Description
PointData.Builder

the new Point

Tag(String, String)

Adds or replaces a tag value for a point.

Declaration
public PointData.Builder Tag(string name, string value)
Parameters
Type Name Description
System.String name

the tag name

System.String value

the tag value

Returns
Type Description
PointData.Builder

this

Timestamp(DateTime, WritePrecision)

Updates the timestamp for the point represented by .

Declaration
public PointData.Builder Timestamp(DateTime timestamp, WritePrecision timeUnit)
Parameters
Type Name Description
DateTime timestamp

the timestamp

WritePrecision timeUnit

the timestamp precision

Returns
Type Description
PointData.Builder

Timestamp(DateTimeOffset, WritePrecision)

Updates the timestamp for the point represented by .

Declaration
public PointData.Builder Timestamp(DateTimeOffset timestamp, WritePrecision timeUnit)
Parameters
Type Name Description
DateTimeOffset timestamp

the timestamp

WritePrecision timeUnit

the timestamp precision

Returns
Type Description
PointData.Builder

Timestamp(Instant, WritePrecision)

Updates the timestamp for the point represented by .

Declaration
public PointData.Builder Timestamp(Instant timestamp, WritePrecision timeUnit)
Parameters
Type Name Description
Instant timestamp

the timestamp

WritePrecision timeUnit

the timestamp precision

Returns
Type Description
PointData.Builder

Timestamp(Int64, WritePrecision)

Updates the timestamp for the point.

Declaration
public PointData.Builder Timestamp(long timestamp, WritePrecision timeUnit)
Parameters
Type Name Description
System.Int64 timestamp

the timestamp

WritePrecision timeUnit

the timestamp precision

Returns
Type Description
PointData.Builder

Timestamp(TimeSpan, WritePrecision)

Updates the timestamp for the point represented by .

Declaration
public PointData.Builder Timestamp(TimeSpan timestamp, WritePrecision timeUnit)
Parameters
Type Name Description
TimeSpan timestamp

the timestamp

WritePrecision timeUnit

the timestamp precision

Returns
Type Description
PointData.Builder

ToPointData()

The PointData

Declaration
public PointData ToPointData()
Returns
Type Description
PointData
In This Article
Back to top Generated by DocFX