    

 ## On this page

  

 

 # Class DocumentAPIImpl

 Last update: 16.07.2025 

Namespace: [VM.API.Pre.Car](VM.API.Pre.Car.md)  
Assembly: VM.API.Pre.Car.dll

This class implements APIs for document.

```csharp
public static class DocumentAPIImpl

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [DocumentAPIImpl](VM.API.Pre.Car.DocumentAPIImpl.md)

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Methods

### CreateNewPropertyDocumentImpl&lt;T&gt;(string, string, Unit, LengthUnitType, string, string)

Create .

```csharp
[NotNullOrEmpty(new string[] { "newPropertyFilePath" })]
public static T CreateNewPropertyDocumentImpl<T>(string newPropertyFilePath, string documentName, Unit unit, LengthUnitType kernelLengthUnit, string extension, string documentType) where T : PropertyDocumentBase

```

#### Parameters

`newPropertyFilePath` [string](https://learn.microsoft.com/dotnet/api/system.string)

The file path of new property document.

`documentName` [string](https://learn.microsoft.com/dotnet/api/system.string)

The name of document.

`unit` Unit

The unit information.

`kernelLengthUnit` LengthUnitType

The length unit of kernel.

`extension` [string](https://learn.microsoft.com/dotnet/api/system.string)

The extension.

`documentType` [string](https://learn.microsoft.com/dotnet/api/system.string)

The document type.

#### Returns

T

The new  object that is created by this API.

#### Type Parameters

`T`

The document type

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'newPropertyFilePath' argument is null.

### CreateNewSubsystemFromTemplateDocumentImpl&lt;T&gt;(string, string, MinorRole, string, string)

Create .

```csharp
[NotNullOrEmpty(new string[] { "newSubsystemFromTemplateFilePath" })]
[ExistFile(new string[] { "existedSubsystemTemplateFilePath" })]
public static T CreateNewSubsystemFromTemplateDocumentImpl<T>(string newSubsystemFromTemplateFilePath, string existedSubsystemTemplateFilePath, MinorRole minorRole, string extension, string documentType) where T : SubSystemDocument

```

#### Parameters

`newSubsystemFromTemplateFilePath` [string](https://learn.microsoft.com/dotnet/api/system.string)

The file path of new subsystem from template file path.

`existedSubsystemTemplateFilePath` [string](https://learn.microsoft.com/dotnet/api/system.string)

The file path of existed subsystem template file path.

`minorRole` MinorRole

The minor role type.

`extension` [string](https://learn.microsoft.com/dotnet/api/system.string)

The extension.

`documentType` [string](https://learn.microsoft.com/dotnet/api/system.string)

The document type.

#### Returns

T

The new  object that is created by this API.

#### Type Parameters

`T`

The document type

#### Exceptions

[ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception)

Will be thrown if 'newSubsystemFromTemplateFilePath' argument is null.

[FileNotFoundException](https://learn.microsoft.com/dotnet/api/system.io.filenotfoundexception)

Will be thrown if 'existedSubsystemTemplateFilePath' does not exist.