[ROOT] doc DocFrag SELECT Assembly, DocFragType, Description.FirstLine() < SKIP 884 > < TAKE 992 >
183 items
| DocFragId | Assembly | DocFragType | Description.FirstLine() |
|---|---|---|---|
| ARCQuery.QueryExpressionHint.Execute | ARCQuery | ClassMember | Transforms the given input collection into a resulting collection. |
| ARCQuery.Strictness.ON | ARCQuery | EnumMember | |
| ARCQuery.QueryProgressP | ARCQuery | Enum | Describes class -QueryProgress-. |
| ARCQuery.QueryExpressionHint.TryCheckForExistenceOfKey | ARCQuery | ClassMember | Used by query expressions in order to catch wrong field names used or misspelling of field names. |
| ARCQuery.Strictness.OFF | ARCQuery | EnumMember | |
| ARCQuery.QueryProgressP.Queries | ARCQuery | EnumMember | |
| ARCQuery.QueryExpressionHint.SyntaxHelp | ARCQuery | ClassMember | HINT {ON|OFF} |
| ARCQuery.Quantile | ARCQuery | Enum | Describes quantiles like -TERTILE- and -QUARTILE-. |
| ARCQuery.QueryProgressP.StrCurrentType | ARCQuery | EnumMember | Normally the -ToStringVeryShort- representation of the type of objects in the -Result- collection. |
| ARCQuery.QueryExpressionLimit | ARCQuery | Class | Limits the final HTML presentation of results (limits the number of elements being presented). |
| ARCQuery.Quantile.MEDIAN | ARCQuery | EnumMember | Divide into two parts |
| ARCQuery.QueryProgressP.CurrentStrictness | ARCQuery | EnumMember | Describes -Strictness- ON / OFF when executing query. |
| ARCQuery.QueryExpressionLimit.Execute | ARCQuery | ClassMember | Transforms the given input collection into a resulting collection. |
| ARCQuery.Quantile.TERTILE | ARCQuery | EnumMember | Divide into three parts |
| ARCQuery.QueryProgressP.CreateHints | ARCQuery | EnumMember | Describes if hints are to be generated (as query progresses) for new queries. |
| ARCQuery.QueryExpressionLimit.TryCheckForExistenceOfKey | ARCQuery | ClassMember | Used by query expressions in order to catch wrong field names used or misspelling of field names. |
| ARCQuery.Quantile.QUARTILE | ARCQuery | EnumMember | Divide into four parts |
| ARCQuery.QueryProgressP.UseCache | ARCQuery | EnumMember | Describes if cache is to be used or not. |
| ARCQuery.QueryExpressionLimit.SyntaxHelp | ARCQuery | ClassMember | Syntax: LIMIT {limit} like 'LIMIT 42' |
| ARCQuery.Quantile.QUINTILE | ARCQuery | EnumMember | Divide into five parts |
| ARCQuery.QueryProgressP.Limit | ARCQuery | EnumMember | Limits the final HTML presentation of results (limits the number of elements being presented). Does not affect the query in itself. Used in order to avoid building huge HTML pages which will not be consumed anyway. |
| ARCQuery.QueryProgress.ToJSONSerializeable | ARCQuery | ClassMember | Override of default interface method -ToJSONSerializeable- is necessary because resulting data is 'hidden' within -Result-. |
| ARCQuery.QueryProgressP.TerminateReason | ARCQuery | EnumMember | The reason for a query being terminated. This property should contain a user friendly message about the problem and how to fix it. |
| AgoMail.Email.ToString | AgoMail | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| ARCQuery.QueryProgress.PreviousQueryJustExecuted | ARCQuery | ClassMember | TODO: This is somewhat loosely associated. |
| ARCQuery.QueryProgressP.AllLogEntriesForThisQuery | ARCQuery | EnumMember | |
| AgoMail.Program | AgoMail | Class | Application startup and initialization |
| ARCQuery.QueryProgress.NextQueryToExecute | ARCQuery | ClassMember | TODO: This is somewhat loosely associated. |
| ARCQuery.EntityMethodKey+MethodType | ARCQuery | Enum | Explains type of method signature found (trough reflection) for corresponding entity class. |
| AgoMail.Program.InitStreamProcessor | AgoMail | ClassMember | Initializes stream processor. |
| ARCQuery.QueryProgress.ToHTMLSimpleSingle | ARCQuery | ClassMember | Alternative ('override') to -ToHTMLSimpleSingle-. |
| ARCQuery.EntityMethodKey+MethodType.Simple | ARCQuery | EnumMember | Signature like 'bool TryGet{KeyName}(out IP retval, out string errorResponse)' |
| AgoMail.Root | AgoMail | Class | Contains the user friendly welcome text (front page) for the application. |
| ARCQuery.QueryProgress.OrderAndReconstructKeys | ARCQuery | ClassMember | Part 1: |
| ARCQuery.EntityMethodKey+MethodType.Complex | ARCQuery | EnumMember | Signature like 'bool TryGet{KeyName}(IP dataStorage, IK thisKey, out IP retval, out string errorResponse)' |
| AgoMail.Root.ToHTMLSimpleSingle | AgoMail | ClassMember | Alternative ('override') to -ToHTMLSimpleSingle-. |
| ARCQuery.QueryProgress.GetHTMLLinksToIndividualQueryParts | ARCQuery | ClassMember | Is able to generate the following: |
| ARCQuery.QueryExpressionWhere+ValueEnum | ARCQuery | Enum | Helper enum used internally by -QueryExpressionWhere- in order to represent queries like WHERE Name = NULL, WHERE Name = NOTNULL and WHERE Name = * (ALL). |
| AgoMail.Root.TryGetV | AgoMail | ClassMember | Note that 'normally' this method would be irrelevant for a -PRich- object because we will usually be an entity object (like 'Customer') not having an intrinsic value ourselves per se (because we will instead be containing a list of values). |
| ARCQuery.QueryProgress.ToString | ARCQuery | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| ARCQuery.QueryExpressionWhere+ValueEnum.NULL | ARCQuery | EnumMember | |
| AgoMail.Root.ToString | AgoMail | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| ARCQuery.QueryProgress.Result | ARCQuery | ClassMember | This gets updated continously as the different query expressions get evaluated. |
| ARCQuery.QueryExpressionWhere+ValueEnum.NOTNULL | ARCQuery | EnumMember | Practical value enabling suggestions from -GetPrevious- and -GetNext-. |
| AgoMail.Controllers.ControllerFacade | AgoMail | Class | Facade for entry into the desired -BaseController-. |
| ARCQuery.QueryProgress.ExecutedQueries | ARCQuery | ClassMember | The result from calling -Execute- for each query in -Queries-. |
| ARCQuery.QueryExpressionWhere+ValueEnum.ALL | ARCQuery | EnumMember | Equivalent to query like WHERE Name = * |
| AgoMail.Controllers.ControllerFacade.CatchAll Overload2 | AgoMail | ClassMember | Catches all HTTP GET requests to this API. |
| ARCQuery.QueryProgress.AdditionalJavascriptUrlEncoder | ARCQuery | ClassMember | Returns the Javascript code for converting characters that are difficult to pass in URLs to a format understood by -Decode-. |
| ARCQuery.ValueComparerDateTime+ResolutionEnum | ARCQuery | Enum | |
| AgoMail.Controllers.ControllerFacade.CatchAll Overload1 | AgoMail | ClassMember | Catches all HTTP POST requests to this API. |
| ARCQuery.UtilQuery | ARCQuery | Class | Utility methods for -ARCQuery-. |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Second | ARCQuery | EnumMember | |
| AgoMail.EmailP | AgoMail | Enum | |
| ARCQuery.UtilQuery.IndexOfOutsideOf | ARCQuery | ClassMember | Equivalent to string.IndexOf except that any character encountered inside pairs of the 'outsideOf'-char are not counted. |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Minute | ARCQuery | EnumMember | |
| AgoMail.EmailP.Date | AgoMail | EnumMember | UTC-format |
| ARCQuery.UtilQuery.IndexOfAnyOutsideOf | ARCQuery | ClassMember | Equivalent to string.IndexOfAny except that any character encountered inside pairs of the 'outsideOf'-char are not counted. |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Hour | ARCQuery | EnumMember | |
| AgoMail.EmailP.From | AgoMail | EnumMember | |
| ARCQuery.UtilQuery.SplitOutsideOf | ARCQuery | ClassMember | Equivalent to string.Split except that any character encountered inside pairs of the 'outsideOf'-char are not counted as separators. |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Day | ARCQuery | EnumMember | |
| AgoMail.EmailP.To | AgoMail | EnumMember | |
| ARCQuery.UtilQuery.SpecialLinkPrefixes | ARCQuery | ClassMember | Contains prefixes for which links (see -LinkInsertionInDocumentation-) are also desired without the prefix. |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Week | ARCQuery | EnumMember | |
| AgoMail.EmailP.CC | AgoMail | EnumMember | |
| ARCQuery.ValueComparer | ARCQuery | Class | Can evaluation expressions like 'WHERE Created = ThisYear. |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Month | ARCQuery | EnumMember | |
| AgoMail.EmailP.Subject | AgoMail | EnumMember | |
| ARCQuery.ValueComparer.TryGetPrevious | ARCQuery | ClassMember | Suggestion for previous query (browsing 'backwards') |
| ARCAPI.DataStorage.DocLinks | ARCAPI | ClassMember | Note that may be null. |
| ARCQuery.ValueComparer.TryGetNext | ARCQuery | ClassMember | Suggestion for next query (browsing 'forwards') |
| ARCAPI.DataStorage.Lock | ARCAPI | ClassMember | Locking object for thread-safe access from simultaneous API requests. |
| ARCQuery.ValueComparerDateTime | ARCQuery | Class | -ValueComparerDateTime- is an attempt at offering a human language interface for date and time queries. |
| ARCAPI.DataStorage.ExternalReceiver | ARCAPI | ClassMember | Typically used by -AddController-. |
| ARCQuery.ValueComparerDateTime.TryGetPrevious | ARCQuery | ClassMember | Suggestion for previous query (browsing 'backwards') |
| ARCAPI.DataStorage.DoNotStoreInternally | ARCAPI | ClassMember | Typically used by -AddController-. |
| ARCQuery.ValueComparerDateTime.TryGetNext | ARCQuery | ClassMember | Suggestion for next query (browsing 'forwards') |
| ARCAPI.BaseControllerP | ARCAPI | Enum | Describes class -BaseController-. |
| ARCQuery.ValueComparerDateTime.TryParse | ARCQuery | ClassMember | Note: This parser is probably exhaustive but not necessarily logical |
| ARCAPI.BaseControllerP.CountRequest | ARCAPI | EnumMember | Number of calls to -APIMethod- since application initialization |
| ARCQuery.ValueComparerDateTime.Resolution | ARCQuery | ClassMember | See -ResolutionEnum-. |
| ARCAPI.BaseControllerP.CountException | ARCAPI | EnumMember | Number of exceptions at call to -APIMethod- since application initialization |
| ARCQuery.ValueComparerDateTime.Steps | ARCQuery | ClassMember | Value 0 would mean 'This', like ThisHour, Today, ThisMonth and so on. |
| ARCAPI.BaseControllerP.LogLevel | ARCAPI | EnumMember | |
| ARCQuery.ValueComparerDateTime.IsGliding | ARCQuery | ClassMember | The modifier 'Gliding' (or just 'G') can be appended in order to mean continous gliding periode, so for instance |
| ARCAPI.ResponseFormat | ARCAPI | Enum | The response format, HTML or JSON, for an API request. |
| ARCQuery.ValueComparerDateTime.IsBefore | ARCQuery | ClassMember | The modifier 'Before' can be prepended in order to mean from any time before the specified time. |
| ARCAPI.ResponseFormat.JSON | ARCAPI | EnumMember | |
| ARCQuery.ValueComparerDateTime.IsAfter | ARCQuery | ClassMember | The modifier 'After' can be prepended in order to mean any time after the specified time. |
| ARCAPI.ResponseFormat.HTML | ARCAPI | EnumMember | |
| ARCQuery.ValueComparerDateTime.IsInterval | ARCQuery | ClassMember | Normally the interval which is compared against is the timespan corresponding to -Resolution-. |
| Assembly AgoMail | Assembly | ||
| ARCQuery.ValueComparerDateTime.InitValue | ARCQuery | ClassMember | For debugging purposes. The initial 'now' value used before calculating -StartPeriod- and -EndPeriod-. |
| AgoMail.Cleaner | AgoMail | Class | |
| ARCQuery.ValueComparerDateTime.StartPeriod | ARCQuery | ClassMember | The start of the interval which this instance compares against. |
| AgoMail.Cleaner.Clean | AgoMail | ClassMember | Removes emails with often seen values for Subject, To or From. |
| ARCQuery.ValueComparerDateTime.EndPeriod | ARCQuery | ClassMember | The end of the interval which this instance compares against. |
| AgoMail.Email | AgoMail | Class | |
| ARCQuery.ValueComparerDateTime.ToDebugProperties | ARCQuery | ClassMember | Exposes all members of this class. |
| AgoMail.Email.TryGetV | AgoMail | ClassMember | Note that 'normally' this method would be irrelevant for a -PRich- object because we will usually be an entity object (like 'Customer') not having an intrinsic value ourselves per se (because we will instead be containing a list of values). |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Quarter | ARCQuery | EnumMember | |
| AgoMail.EmailP.TextBody | AgoMail | EnumMember | |
| ARCQuery.ValueComparerDateTime+ResolutionEnum.Year | ARCQuery | EnumMember | |
| AgoMail.EmailP.HTMLBody | AgoMail | EnumMember | |
| Assembly ARCAPI | Assembly | A library providing an API on top of the -PropertyStream-. | |
| AgoMail.EmailP.Headers | AgoMail | EnumMember | |
| ARCAPI.ContentResult | ARCAPI | Class | Mimicks Microsoft.AspNetCore.Mvc.ContentResult. |
| AgoMail.EmailP.Attachments | AgoMail | EnumMember | |
| ARCAPI.ContentResult.CreateHTMLOK | ARCAPI | ClassMember | NOTE: Parameter must be a complete HTML page. |
| Namespace ARCCore | Namespace | A necessary library (.DLL in Windows terms) that every -ARNodeType- should link to. | |
| ARCAPI.ContentResult.CreateError | ARCAPI | ClassMember | TODO: Add a key / value format for error messages, like done for -Log-. |
| Namespace ARCDoc | Namespace | A library supporting documentation and demonstrating usage of AgoRapide. | |
| ARCAPI.AddController | ARCAPI | Class | Parses and stores a -PropertyStreamLine-. |
| Namespace ARCQuery | Namespace | ARCQuery provides a query language that mimicks SQL but is usable through HTTP as GET URLs. | |
| ARCAPI.AddController.APIMethod | ARCAPI | ClassMember | The (only) API method that this controller supports. |
| Namespace ARCAPI | Namespace | A library providing an API on top of the -PropertyStream-. | |
| ARCAPI.AddController.ToString | ARCAPI | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| Namespace AgoMail | Namespace | ||
| ARCAPI.AddController.AllowFilter | ARCAPI | ClassMember | Describes what data is allowed to change through a list of -Subscription- instances. |
| Namespace AgoMail.Controllers | Namespace | ||
| ARCAPI.BaseController | ARCAPI | Class | Contains basic functionality for serving API methods. |
| ARCAPI.BaseController.BuildControllerStorage | ARCAPI | ClassMember | Builds a collection of 'std' (standard) controller instances to use for serving API requests. |
| ARCAPI.BaseController.APIMethod | ARCAPI | ClassMember | The (only) API method that this controller supports. |
| ARCAPI.BaseController.CatchAll | ARCAPI | ClassMember | Serves the typical single generic API method in an AgoRapide API. |
| ARCAPI.BaseController.TryNavigateToLevelInDataStorage | ARCAPI | ClassMember | Navigates to the specified level (usually within -Storage-). |
| ARCAPI.BaseController.GetFormatAndAdjustRequest | ARCAPI | ClassMember | Decides -ResponseFormat- (like HTML, JSON, CSV, PDF and so on). |
| ARCAPI.BaseController.GetTimestampIsOldWarningHTML | ARCAPI | ClassMember | If -TimestampIsOld- is found in the rootStorage-parameter, returns warning message in HTML format. |
| ARCAPI.BaseController.ToString | ARCAPI | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| ARCAPI.EditController | ARCAPI | Class | Offers a simple HTML editing environment of the raw -PropertyStream- from the given key. |
| ARCAPI.EditController.APIMethod | ARCAPI | ClassMember | The (only) API method that this controller supports. |
| ARCAPI.EditController.ToString | ARCAPI | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| ARCAPI.GQController | ARCAPI | Class | Offers GraphQL queries. |
| ARCAPI.GQController.APIMethod | ARCAPI | ClassMember | The (only) API method that this controller supports. |
| ARCAPI.GQController.ToString | ARCAPI | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| ARCAPI.RQController | ARCAPI | Class | RQ = REST Query. Executes a REST like query request against the given -DataStorage-. |
| ARCAPI.RQController.APIMethod | ARCAPI | ClassMember | The (only) API method that this controller supports. |
| ARCAPI.RQController.ToString | ARCAPI | ClassMember | TODO: Decide on what we actually want with ToString for this class. |
| ARCAPI.DataStorage | ARCAPI | Class | The all-in-memory global application data storage. |
| ARCAPI.DataStorage.Create | ARCAPI | ClassMember | Creates a -DataStorage- instance with default parameters. |
| ARCAPI.DataStorage..ctor | ARCAPI | ClassMember | This method will: |
| ARCAPI.DataStorage.Storage | ARCAPI | ClassMember | The actual storage. |
| ARCAPI.DataStorage.ControllerStorage | ARCAPI | ClassMember | Usually (but not always) a branch of -Storage- (like Storage["log"]["{nodeId}"]["Controller"]). |
| ARCDoc.DocLinkResolutionP.DocLinks | ARCDoc | EnumMember | The possible links for -LinkWord- |
| ARCDoc.DocumentatorP | ARCDoc | Enum | Describes class -Documentator-. |
| ARCDoc.DummyEnumP | ARCDoc | Enum | TODO: Document better what this is for (and change name) |
| ARCDoc.DummyEnumP._MemberInherited | ARCDoc | EnumMember | Contains not only members which are inherited in the object-oriented sense, but also overrides for which the only documentation was found in base class |
| ARCDoc.HLocationP | ARCDoc | Enum | Describes class -HLocation-. |
| ARCDoc.HLocationP.Location | ARCDoc | EnumMember | Folder names / hierarchical levels. |
| ARCDoc.HLocationP.Filename | ARCDoc | EnumMember | Either the last hierarhical key for the content's location, or Index.html if no location. |
| ARCDoc.HLocationP.ContentType | ARCDoc | EnumMember | The type of the content object. The actual content object is stored as -Content-. |
| ARCQuery.CompoundInvalidKey.FunctionKeys | ARCQuery | ClassMember | All -FunctionKey-s chained at end of compound key (but before an eventual -QuantileKey-). |
| ARCQuery.CompoundInvalidKey.QuantileKey | ARCQuery | ClassMember | Eventual final -QuantileKey- at end of compound key. |
| ARCQuery.CompoundKey | ARCQuery | Class | A class able to expand the concept of entity keys. |
| ARCQuery.CompoundKey.TryGetP | ARCQuery | ClassMember | The outwards facing executor, understanding use of -FunctionKeys-. |
| ARCQuery.CompoundKey.TryGetPInternal | ARCQuery | ClassMember | The internal executor, containing the specific functionality for how to evaluate the key. |
| ARCQuery.CompoundKey.Parse | ARCQuery | ClassMember | Note that no TryParse is offered here, because Parse will always succeed (it just returns -CompoundInvalidKey- if 'fails'). |
| ARCQuery.CompoundKey.ToString | ARCQuery | ClassMember | The ToString representation is the one relevant when used as key, like in -IK- or when selecting like 'SELECT {fieldName}'. |
| ARCQuery.CompoundKey.FunctionKeys | ARCQuery | ClassMember | All -FunctionKey-s chained at end of compound key (but before an eventual -QuantileKey-). |
| ARCQuery.CompoundKey.QuantileKey | ARCQuery | ClassMember | Eventual final -QuantileKey- at end of compound key. |
| ARCQuery.ConstantKey<T> | ARCQuery | Class | Represents a constant expression like "' '", "', '", "42". |
| ARCQuery.ConstantKey<T>.TryGetPInternal | ARCQuery | ClassMember | The internal executor, containing the specific functionality for how to evaluate the key. |
| ARCQuery.ConstantKey<T>.ToString | ARCQuery | ClassMember | The ToString representation is the one relevant when used as key, like in -IK- or when selecting like 'SELECT {fieldName}'. |
| ARCQuery.ConstantKey<T>.TryGetP | ARCQuery | ClassMember | The outwards facing executor, understanding use of -FunctionKeys-. |
| ARCQuery.ConstantKey<T>.FunctionKeys | ARCQuery | ClassMember | All -FunctionKey-s chained at end of compound key (but before an eventual -QuantileKey-). |
| ARCQuery.ConstantKey<T>.QuantileKey | ARCQuery | ClassMember | Eventual final -QuantileKey- at end of compound key. |
| ARCQuery.EntityMethodKey | ARCQuery | Class | Key able to call read-only methods defined in the entity class with names like 'TryGet{FieldName}'. |
| ARCQuery.MemberEntityKey.TryGetP | ARCQuery | ClassMember | The outwards facing executor, understanding use of -FunctionKeys-. |
| ARCQuery.MemberEntityKey.FunctionKeys | ARCQuery | ClassMember | All -FunctionKey-s chained at end of compound key (but before an eventual -QuantileKey-). |
| ARCQuery.MemberEntityKey.QuantileKey | ARCQuery | ClassMember | Eventual final -QuantileKey- at end of compound key. |
| ARCQuery.OrdinaryKeyPlusFunctionOrQuantile | ARCQuery | Class | A -CompoundKey- containing some function keys or quantile key operating on an existing property of the entity in question. |
| ARCQuery.OrdinaryKeyPlusFunctionOrQuantile.TryGetPInternal | ARCQuery | ClassMember | The internal executor, containing the specific functionality for how to evaluate the key. |
| ARCQuery.OrdinaryKeyPlusFunctionOrQuantile.ToString | ARCQuery | ClassMember | The ToString representation is the one relevant when used as key, like in -IK- or when selecting like 'SELECT {fieldName}'. |
| ARCQuery.OrdinaryKeyPlusFunctionOrQuantile.TryGetP | ARCQuery | ClassMember | The outwards facing executor, understanding use of -FunctionKeys-. |
| ARCQuery.OrdinaryKeyPlusFunctionOrQuantile..ctor | ARCQuery | ClassMember | Note that calling only this constructor without afterwards setting -FunctionKeys- and / or -QuantileKey- would be meaningless. |
| ARCQuery.OrdinaryKeyPlusFunctionOrQuantile.FunctionKeys | ARCQuery | ClassMember | All -FunctionKey-s chained at end of compound key (but before an eventual -QuantileKey-). |
| ARCQuery.OrdinaryKeyPlusFunctionOrQuantile.QuantileKey | ARCQuery | ClassMember | Eventual final -QuantileKey- at end of compound key. |
| ARCQuery.Extensions | ARCQuery | Class | |
| ARCQuery.Extensions.TryGetP | ARCQuery | ClassMember | Same functionality as -TryGetP- but understands the concept of -CompoundKey-. |
| ARCQuery.FunctionKeyAggregate | ARCQuery | Class | Operates over a collection of properties. |
| ARCQuery.FunctionKeyAggregate.TryGetP | ARCQuery | ClassMember | NOTE: The in-parameter is a property, not an entity. |
| ARCQuery.FunctionKeyAggregateAvg | ARCQuery | Class | Calculates the average of the given properties. |
| ARCQuery.FunctionKeyAggregateAvg.SyntaxHelp | ARCQuery | ClassMember | 'Avg()' |
Generated 2026-11-03 22:38:23.135 UTC