Class AutoRewriter<T>
An experimental implementation of IRewriter<T> using reflection.
AutoRewriter<T> looks for the subtype's constructor, and gets/sets
the T-children in the order that they appear in the constructor.
Inheritance
- Object
- AutoRewriter<T>
Implements
- IRewriter<T>
Declaration
public class AutoRewriter<T> : Object, IRewriter<T>
Type Parameters
| Name | Description |
|---|---|
T |
Constructors
AutoRewriter()
Create a new instance of AutoRewriter<T>
Declaration
protected AutoRewriter()
Properties
Instance
Gets the single global instance of AutoRewriter<T>.
Declaration
public static AutoRewriter<T> Instance { get; }
Property Value
| Type | Description |
|---|---|
AutoRewriter<T> |
The single global instance of AutoRewriter<T>. |
Methods
CountChildren(T)
Declaration
public int CountChildren(T value)
Parameters
| Type | Name | Description |
|---|---|---|
T |
value |
Returns
| Type | Description |
|---|---|
GetChildren(Span<T>, T)
Declaration
public void GetChildren(Span<T> children, T value)
Parameters
| Type | Name | Description |
|---|---|---|
Span<T> |
children |
|
T |
value |
SetChildren(ReadOnlySpan<T>, T)
Declaration
public T SetChildren(ReadOnlySpan<T> newChildren, T oldValue)
Parameters
| Type | Name | Description |
|---|---|---|
ReadOnlySpan<T> |
newChildren |
|
T |
oldValue |
Returns
| Type | Description |
|---|---|
T |