    

 ## On this page

  

 

 # Struct ExpressionValue&lt;T\\&gt;

 Last update: 16.07.2025 

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

```csharp
public struct ExpressionValue<T> : IExpressionValue, IExpressionValue<T>, IExpression

```

#### Type Parameters

`T`

#### Implements

[IExpressionValue](VM.Models.Pre.IExpressionValue.md), [IExpressionValue&lt;T&gt;](VM.Models.Pre.IExpressionValue-1.md), IExpression

#### 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_)

## Constructors

### ExpressionValue(T, string)

```csharp
public ExpressionValue(T value, string expression)

```

#### Parameters

`value` T

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

## Properties

### Expression

```csharp
public string Expression { get; set; }

```

#### Property Value

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

### IsSimpleValue

```csharp
public bool IsSimpleValue { get; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### Parser

```csharp
public static IExpressionParser<T> Parser { get; }

```

#### Property Value

[IExpressionParser](VM.Models.Pre.IExpressionParser-1.md)&lt;T&gt;

### Value

```csharp
public T Value { get; set; }

```

#### Property Value

T

## Methods

### Equals(ExpressionValue&lt;T&gt;)

```csharp
public bool Equals(ExpressionValue<T> other)

```

#### Parameters

`other` [ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### Equals(object)

```csharp
public override bool Equals(object obj)

```

#### Parameters

`obj` [object](https://learn.microsoft.com/dotnet/api/system.object)

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### GetSchema()

```csharp
public XmlSchema GetSchema()

```

#### Returns

[XmlSchema](https://learn.microsoft.com/dotnet/api/system.xml.schema.xmlschema)

### GetValue(string)

```csharp
public static object GetValue(string expression)

```

#### Parameters

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

#### Returns

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

### ReadXml(XmlReader)

```csharp
public void ReadXml(XmlReader reader)

```

#### Parameters

`reader` [XmlReader](https://learn.microsoft.com/dotnet/api/system.xml.xmlreader)

### SetParser(IExpressionParser&lt;T&gt;)

```csharp
public static void SetParser(IExpressionParser<T> parser)

```

#### Parameters

`parser` [IExpressionParser](VM.Models.Pre.IExpressionParser-1.md)&lt;T&gt;

### WriteXml(XmlWriter)

```csharp
public void WriteXml(XmlWriter writer)

```

#### Parameters

`writer` [XmlWriter](https://learn.microsoft.com/dotnet/api/system.xml.xmlwriter)

## Operators

### operator ==(ExpressionValue&lt;T&gt;, ExpressionValue&lt;T&gt;)

```csharp
public static bool operator ==(ExpressionValue<T> expressionValue1, ExpressionValue<T> expressionValue2)

```

#### Parameters

`expressionValue1` [ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

`expressionValue2` [ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### implicit operator ExpressionValue&lt;T&gt;(T)

```csharp
public static implicit operator ExpressionValue<T>(T value)

```

#### Parameters

`value` T

#### Returns

[ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

### implicit operator T(ExpressionValue&lt;T&gt;)

```csharp
public static implicit operator T(ExpressionValue<T> expressionValue)

```

#### Parameters

`expressionValue` [ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

#### Returns

T

### implicit operator ExpressionValue&lt;T&gt;(string)

```csharp
public static implicit operator ExpressionValue<T>(string expression)

```

#### Parameters

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

#### Returns

[ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

### implicit operator string(ExpressionValue&lt;T&gt;)

```csharp
public static implicit operator string(ExpressionValue<T> expressionValue)

```

#### Parameters

`expressionValue` [ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

#### Returns

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

### operator !=(ExpressionValue&lt;T&gt;, ExpressionValue&lt;T&gt;)

```csharp
public static bool operator !=(ExpressionValue<T> expressionValue1, ExpressionValue<T> expressionValue2)

```

#### Parameters

`expressionValue1` [ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

`expressionValue2` [ExpressionValue](VM.Models.Pre.ExpressionValue-1.md)&lt;T&gt;

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)