Represents a mutable reference to the field.
+ Represents a mutable reference to the field.
diff --git a/features/core/softref.html b/features/core/softref.html
index 92bfaac46..c904e33f6 100644
--- a/features/core/softref.html
+++ b/features/core/softref.html
@@ -77,8 +77,8 @@ Soft Reference
As a result, softly referenced object can be reclaimed during Background or Full-Blocking GC to collect objects in Generation 2.
The actual lifetime of the soft reference can be tuned in more advanced way using SoftReferenceOptions class:
-It is possible how many collections of objects in Gen2 can survive sofly referenced object
-Explicitly define memory pressure: if allocated memory in Gen2 exceedes the limit then the object will be available for GC
+It is possible how many collections of objects in Gen2 can survive softly referenced object
+Explicitly define memory pressure: if allocated memory in Gen2 exceeds the limit then the object will be available for GC
The following example demonstrates how to create a soft reference to the object:
using System.Text;
diff --git a/features/core/valueref.html b/features/core/valueref.html
new file mode 100644
index 000000000..1d6068b2f
--- /dev/null
+++ b/features/core/valueref.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+ Value References | .NEXT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Value References
+
+Managed pointer (ref keyword) and Span<T> allow to represent access to the referenced value by using interior pointer. However, these data types are restricted by their scope. For instance, if the interior pointer references the field inside the managed object, no need to restrict the scope of that pointer because the object is allocated in the heap.
+ValueReference<T> and ReadOnlyValueReference<T> are alternative representation of the references to the heap-allocated objects without the restrictions described above. You can use these types as a fields of another classes (not limited to ref struct ).
+class MyClass
+{
+ private int field;
+
+ public ValueReference<int> GetFieldRef() => new ValueReference<int>(this, ref field);
+}
+
+ValueReference<T>
can hold a reference to the following locations:
+
+Instance field
+Array element
+Static field
+
+If static field is of value type, it must be marked with FixedAddressValueType attribute. Otherwise, the behavior is unspecified.
+class MyClass
+{
+ [FixedAddressValueType]
+ public static int Field;
+}
+
+ValueReference<int> reference = new ValueReference<int>(ref MyClass.Field);
+reference.Value = 42;
+
+
+
+
+
+
+
+
+
+
+ ☀
+
+
+
+
+
+
+ ☾
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/toc.html b/features/toc.html
index d879d65fd..96c7c15b2 100644
--- a/features/toc.html
+++ b/features/toc.html
@@ -65,6 +65,9 @@
GC Notifications
+
+ Value References
+
diff --git a/features/toc.json b/features/toc.json
index e77ad3318..bbc0ee0c6 100644
--- a/features/toc.json
+++ b/features/toc.json
@@ -1,2 +1,2 @@
-{"items":[{"name":"BCL Enhancements","href":"core/index.html","topicHref":"core/index.html","items":[{"name":"Efficient String Building","href":"core/stringb.html","topicHref":"core/stringb.html"},{"name":"Ad-hoc User Data","href":"core/userdata.html","topicHref":"core/userdata.html"},{"name":"Enum Enhancements","href":"core/enum.html","topicHref":"core/enum.html"},{"name":"Collection Enhancements","href":"core/collections.html","topicHref":"core/collections.html"},{"name":"Optional Type","href":"core/optional.html","topicHref":"core/optional.html"},{"name":"Result Type","href":"core/result.html","topicHref":"core/result.html"},{"name":"Atomic Operations","href":"core/atomic.html","topicHref":"core/atomic.html"},{"name":"Synchronization Enhancements","href":"core/sync.html","topicHref":"core/sync.html"},{"name":"Intrinsics","href":"core/intrinsics.html","topicHref":"core/intrinsics.html"},{"name":"Path MTU Discovery","href":"core/mtu.html","topicHref":"core/mtu.html"},{"name":"Base64 Encoding/Decoding","href":"core/base64.html","topicHref":"core/base64.html"},{"name":"Value Type Enhancements","href":"core/valuetype.html","topicHref":"core/valuetype.html"},{"name":"Soft Reference","href":"core/softref.html","topicHref":"core/softref.html"},{"name":"TypeMap","href":"core/typem.html","topicHref":"core/typem.html"},{"name":"In-Memory Cache","href":"core/cache.html","topicHref":"core/cache.html"},{"name":"GC Notifications","href":"core/gcnotif.html","topicHref":"core/gcnotif.html"}]},{"name":"I/O Enhancements","href":"io/index.html","topicHref":"io/index.html","items":[{"name":"Alloc vs Pooling","href":"io/rental.html","topicHref":"io/rental.html"},{"name":"Dynamic Buffers","href":"io/buffers.html","topicHref":"io/buffers.html"},{"name":"Memory-Mapped File","href":"io/mmfile.html","topicHref":"io/mmfile.html"}]},{"name":"Threading","href":"threading/index.html","topicHref":"threading/index.html","items":[{"name":"Async Lock","href":"threading/exclusive.html","topicHref":"threading/exclusive.html"},{"name":"Async Reader/Writer Lock","href":"threading/rwlock.html","topicHref":"threading/rwlock.html"},{"name":"Async Reset Event","href":"threading/event.html","topicHref":"threading/event.html"},{"name":"Async Countdown Latch","href":"threading/counter.html","topicHref":"threading/counter.html"},{"name":"Async Barrier","href":"threading/barrier.html","topicHref":"threading/barrier.html"},{"name":"Async Trigger","href":"threading/trigger.html","topicHref":"threading/trigger.html"},{"name":"Correlation Source","href":"threading/correl.html","topicHref":"threading/correl.html"},{"name":"Exchanger","href":"threading/exchanger.html","topicHref":"threading/exchanger.html"},{"name":"Event Hub","href":"threading/hub.html","topicHref":"threading/hub.html"},{"name":"Task Completion Pipe","href":"threading/taskpipe.html","topicHref":"threading/taskpipe.html"},{"name":"Interop with Other Asynchronous Patterns","href":"threading/interop.html","topicHref":"threading/interop.html"},{"name":"Async Lazy","href":"threading/lazy.html","topicHref":"threading/lazy.html"},{"name":"Persistent Channels","href":"threading/channel.html","topicHref":"threading/channel.html"},{"name":"ValueTask Completion Source","href":"threading/tasksrc.html","topicHref":"threading/tasksrc.html"},{"name":"Delayed Tasks","href":"threading/dtask.html","topicHref":"threading/dtask.html"}]},{"name":"Advanced Reflection","href":"reflection/index.html","topicHref":"reflection/index.html","items":[{"name":"Open and Closed Delegates","href":"reflection/delegate.html","topicHref":"reflection/delegate.html"}]},{"name":"Metaprogramming","href":"metaprogramming/index.html","topicHref":"metaprogramming/index.html","items":[{"name":"Building Expression Trees","href":"metaprogramming/dynamic.html","topicHref":"metaprogramming/dynamic.html"},{"name":"Compound Expressions","href":"metaprogramming/compound.html","topicHref":"metaprogramming/compound.html"},{"name":"Multi-line Lambdas","href":"metaprogramming/lambda.html","topicHref":"metaprogramming/lambda.html"},{"name":"Async Lambda","href":"metaprogramming/async.html","topicHref":"metaprogramming/async.html"},{"name":"using Statement","href":"metaprogramming/using.html","topicHref":"metaprogramming/using.html"},{"name":"Loops","href":"metaprogramming/loop.html","topicHref":"metaprogramming/loop.html"},{"name":"lock Statement","href":"metaprogramming/lock.html","topicHref":"metaprogramming/lock.html"},{"name":"Ranges and Indicies","href":"metaprogramming/range.html","topicHref":"metaprogramming/range.html"},{"name":"String Interpolation","href":"metaprogramming/interp.html","topicHref":"metaprogramming/interp.html"},{"name":"Pattern Matching","href":"metaprogramming/match.html","topicHref":"metaprogramming/match.html"},{"name":"with Expression and record types","href":"metaprogramming/with.html","topicHref":"metaprogramming/with.html"},{"name":"Miscellaneous Statements","href":"metaprogramming/misc.html","topicHref":"metaprogramming/misc.html"}]},{"name":"Unsafe Data Structures","href":"unsafe/index.html","topicHref":"unsafe/index.html","items":[{"name":"Structured Memory Access","href":"unsafe/struct.html","topicHref":"unsafe/struct.html"}]},{"name":"Cluster Programming Suite","href":"cluster/index.html","topicHref":"cluster/index.html","items":[{"name":"P2P Gossip","href":"cluster/gossip.html","topicHref":"cluster/gossip.html"},{"name":"Raft","href":"cluster/raft.html","topicHref":"cluster/raft.html"},{"name":"Persistent Log","href":"cluster/wal.html","topicHref":"cluster/wal.html"}]},{"name":"Application Maintenance Interface","href":"ami/index.html","topicHref":"ami/index.html","items":[{"name":"K8s Probes","href":"ami/probes.html","topicHref":"ami/probes.html"},{"name":"Authentication and Authorization","href":"ami/auth.html","topicHref":"ami/auth.html"}]}]}
+{"items":[{"name":"BCL Enhancements","href":"core/index.html","topicHref":"core/index.html","items":[{"name":"Efficient String Building","href":"core/stringb.html","topicHref":"core/stringb.html"},{"name":"Ad-hoc User Data","href":"core/userdata.html","topicHref":"core/userdata.html"},{"name":"Enum Enhancements","href":"core/enum.html","topicHref":"core/enum.html"},{"name":"Collection Enhancements","href":"core/collections.html","topicHref":"core/collections.html"},{"name":"Optional Type","href":"core/optional.html","topicHref":"core/optional.html"},{"name":"Result Type","href":"core/result.html","topicHref":"core/result.html"},{"name":"Atomic Operations","href":"core/atomic.html","topicHref":"core/atomic.html"},{"name":"Synchronization Enhancements","href":"core/sync.html","topicHref":"core/sync.html"},{"name":"Intrinsics","href":"core/intrinsics.html","topicHref":"core/intrinsics.html"},{"name":"Path MTU Discovery","href":"core/mtu.html","topicHref":"core/mtu.html"},{"name":"Base64 Encoding/Decoding","href":"core/base64.html","topicHref":"core/base64.html"},{"name":"Value Type Enhancements","href":"core/valuetype.html","topicHref":"core/valuetype.html"},{"name":"Soft Reference","href":"core/softref.html","topicHref":"core/softref.html"},{"name":"TypeMap","href":"core/typem.html","topicHref":"core/typem.html"},{"name":"In-Memory Cache","href":"core/cache.html","topicHref":"core/cache.html"},{"name":"GC Notifications","href":"core/gcnotif.html","topicHref":"core/gcnotif.html"},{"name":"Value References","href":"cire/valueref.md","topicHref":"cire/valueref.md"}]},{"name":"I/O Enhancements","href":"io/index.html","topicHref":"io/index.html","items":[{"name":"Alloc vs Pooling","href":"io/rental.html","topicHref":"io/rental.html"},{"name":"Dynamic Buffers","href":"io/buffers.html","topicHref":"io/buffers.html"},{"name":"Memory-Mapped File","href":"io/mmfile.html","topicHref":"io/mmfile.html"}]},{"name":"Threading","href":"threading/index.html","topicHref":"threading/index.html","items":[{"name":"Async Lock","href":"threading/exclusive.html","topicHref":"threading/exclusive.html"},{"name":"Async Reader/Writer Lock","href":"threading/rwlock.html","topicHref":"threading/rwlock.html"},{"name":"Async Reset Event","href":"threading/event.html","topicHref":"threading/event.html"},{"name":"Async Countdown Latch","href":"threading/counter.html","topicHref":"threading/counter.html"},{"name":"Async Barrier","href":"threading/barrier.html","topicHref":"threading/barrier.html"},{"name":"Async Trigger","href":"threading/trigger.html","topicHref":"threading/trigger.html"},{"name":"Correlation Source","href":"threading/correl.html","topicHref":"threading/correl.html"},{"name":"Exchanger","href":"threading/exchanger.html","topicHref":"threading/exchanger.html"},{"name":"Event Hub","href":"threading/hub.html","topicHref":"threading/hub.html"},{"name":"Task Completion Pipe","href":"threading/taskpipe.html","topicHref":"threading/taskpipe.html"},{"name":"Interop with Other Asynchronous Patterns","href":"threading/interop.html","topicHref":"threading/interop.html"},{"name":"Async Lazy","href":"threading/lazy.html","topicHref":"threading/lazy.html"},{"name":"Persistent Channels","href":"threading/channel.html","topicHref":"threading/channel.html"},{"name":"ValueTask Completion Source","href":"threading/tasksrc.html","topicHref":"threading/tasksrc.html"},{"name":"Delayed Tasks","href":"threading/dtask.html","topicHref":"threading/dtask.html"}]},{"name":"Advanced Reflection","href":"reflection/index.html","topicHref":"reflection/index.html","items":[{"name":"Open and Closed Delegates","href":"reflection/delegate.html","topicHref":"reflection/delegate.html"}]},{"name":"Metaprogramming","href":"metaprogramming/index.html","topicHref":"metaprogramming/index.html","items":[{"name":"Building Expression Trees","href":"metaprogramming/dynamic.html","topicHref":"metaprogramming/dynamic.html"},{"name":"Compound Expressions","href":"metaprogramming/compound.html","topicHref":"metaprogramming/compound.html"},{"name":"Multi-line Lambdas","href":"metaprogramming/lambda.html","topicHref":"metaprogramming/lambda.html"},{"name":"Async Lambda","href":"metaprogramming/async.html","topicHref":"metaprogramming/async.html"},{"name":"using Statement","href":"metaprogramming/using.html","topicHref":"metaprogramming/using.html"},{"name":"Loops","href":"metaprogramming/loop.html","topicHref":"metaprogramming/loop.html"},{"name":"lock Statement","href":"metaprogramming/lock.html","topicHref":"metaprogramming/lock.html"},{"name":"Ranges and Indicies","href":"metaprogramming/range.html","topicHref":"metaprogramming/range.html"},{"name":"String Interpolation","href":"metaprogramming/interp.html","topicHref":"metaprogramming/interp.html"},{"name":"Pattern Matching","href":"metaprogramming/match.html","topicHref":"metaprogramming/match.html"},{"name":"with Expression and record types","href":"metaprogramming/with.html","topicHref":"metaprogramming/with.html"},{"name":"Miscellaneous Statements","href":"metaprogramming/misc.html","topicHref":"metaprogramming/misc.html"}]},{"name":"Unsafe Data Structures","href":"unsafe/index.html","topicHref":"unsafe/index.html","items":[{"name":"Structured Memory Access","href":"unsafe/struct.html","topicHref":"unsafe/struct.html"}]},{"name":"Cluster Programming Suite","href":"cluster/index.html","topicHref":"cluster/index.html","items":[{"name":"P2P Gossip","href":"cluster/gossip.html","topicHref":"cluster/gossip.html"},{"name":"Raft","href":"cluster/raft.html","topicHref":"cluster/raft.html"},{"name":"Persistent Log","href":"cluster/wal.html","topicHref":"cluster/wal.html"}]},{"name":"Application Maintenance Interface","href":"ami/index.html","topicHref":"ami/index.html","items":[{"name":"K8s Probes","href":"ami/probes.html","topicHref":"ami/probes.html"},{"name":"Authentication and Authorization","href":"ami/auth.html","topicHref":"ami/auth.html"}]}]}
diff --git a/xrefmap.yml b/xrefmap.yml
index cf2c003b3..ed3885356 100644
--- a/xrefmap.yml
+++ b/xrefmap.yml
@@ -36939,6 +36939,15 @@ references:
fullName.vb: DotNext.Runtime.BoxedValue(Of T).CType
nameWithType: BoxedValue.explicit operator
nameWithType.vb: BoxedValue(Of T).CType
+- uid: DotNext.Runtime.BoxedValue`1.op_Implicit(DotNext.Runtime.BoxedValue{`0})~DotNext.Runtime.ValueReference{`0}
+ name: implicit operator ValueReference(BoxedValue)
+ href: api/DotNext.Runtime.BoxedValue-1.html#DotNext_Runtime_BoxedValue_1_op_Implicit_DotNext_Runtime_BoxedValue__0___DotNext_Runtime_ValueReference__0_
+ commentId: M:DotNext.Runtime.BoxedValue`1.op_Implicit(DotNext.Runtime.BoxedValue{`0})~DotNext.Runtime.ValueReference{`0}
+ name.vb: CType(BoxedValue(Of T))
+ fullName: DotNext.Runtime.BoxedValue.implicit operator DotNext.Runtime.ValueReference(DotNext.Runtime.BoxedValue)
+ fullName.vb: DotNext.Runtime.BoxedValue(Of T).CType(DotNext.Runtime.BoxedValue(Of T))
+ nameWithType: BoxedValue.implicit operator ValueReference(BoxedValue)
+ nameWithType.vb: BoxedValue(Of T).CType(BoxedValue(Of T))
- uid: DotNext.Runtime.BoxedValue`1.op_Implicit(DotNext.Runtime.BoxedValue{`0})~System.ValueType
name: implicit operator ValueType?(BoxedValue?)
href: api/DotNext.Runtime.BoxedValue-1.html#DotNext_Runtime_BoxedValue_1_op_Implicit_DotNext_Runtime_BoxedValue__0___System_ValueType
@@ -40356,6 +40365,24 @@ references:
fullName.vb: DotNext.Runtime.ReadOnlyValueReference(Of T).New(Object, T)
nameWithType: ReadOnlyValueReference.ReadOnlyValueReference(object, ref readonly T)
nameWithType.vb: ReadOnlyValueReference(Of T).New(Object, T)
+- uid: DotNext.Runtime.ReadOnlyValueReference`1.#ctor(`0@)
+ name: ReadOnlyValueReference(ref readonly T)
+ href: api/DotNext.Runtime.ReadOnlyValueReference-1.html#DotNext_Runtime_ReadOnlyValueReference_1__ctor__0__
+ commentId: M:DotNext.Runtime.ReadOnlyValueReference`1.#ctor(`0@)
+ name.vb: New(T)
+ fullName: DotNext.Runtime.ReadOnlyValueReference.ReadOnlyValueReference(ref readonly T)
+ fullName.vb: DotNext.Runtime.ReadOnlyValueReference(Of T).New(T)
+ nameWithType: ReadOnlyValueReference.ReadOnlyValueReference(ref readonly T)
+ nameWithType.vb: ReadOnlyValueReference(Of T).New(T)
+- uid: DotNext.Runtime.ReadOnlyValueReference`1.#ctor(`0[],System.Int32)
+ name: ReadOnlyValueReference(T[], int)
+ href: api/DotNext.Runtime.ReadOnlyValueReference-1.html#DotNext_Runtime_ReadOnlyValueReference_1__ctor__0___System_Int32_
+ commentId: M:DotNext.Runtime.ReadOnlyValueReference`1.#ctor(`0[],System.Int32)
+ name.vb: New(T(), Integer)
+ fullName: DotNext.Runtime.ReadOnlyValueReference.ReadOnlyValueReference(T[], int)
+ fullName.vb: DotNext.Runtime.ReadOnlyValueReference(Of T).New(T(), Integer)
+ nameWithType: ReadOnlyValueReference.ReadOnlyValueReference(T[], int)
+ nameWithType.vb: ReadOnlyValueReference(Of T).New(T(), Integer)
- uid: DotNext.Runtime.ReadOnlyValueReference`1.#ctor*
name: ReadOnlyValueReference
href: api/DotNext.Runtime.ReadOnlyValueReference-1.html#DotNext_Runtime_ReadOnlyValueReference_1__ctor_
@@ -40480,6 +40507,25 @@ references:
fullName.vb: DotNext.Runtime.ReadOnlyValueReference(Of T).=
nameWithType: ReadOnlyValueReference.operator ==
nameWithType.vb: ReadOnlyValueReference(Of T).=
+- uid: DotNext.Runtime.ReadOnlyValueReference`1.op_Implicit(DotNext.Runtime.ReadOnlyValueReference{`0})~System.ReadOnlySpan{`0}
+ name: implicit operator ReadOnlySpan(ReadOnlyValueReference)
+ href: api/DotNext.Runtime.ReadOnlyValueReference-1.html#DotNext_Runtime_ReadOnlyValueReference_1_op_Implicit_DotNext_Runtime_ReadOnlyValueReference__0___System_ReadOnlySpan__0_
+ commentId: M:DotNext.Runtime.ReadOnlyValueReference`1.op_Implicit(DotNext.Runtime.ReadOnlyValueReference{`0})~System.ReadOnlySpan{`0}
+ name.vb: CType(ReadOnlyValueReference(Of T))
+ fullName: DotNext.Runtime.ReadOnlyValueReference.implicit operator System.ReadOnlySpan(DotNext.Runtime.ReadOnlyValueReference)
+ fullName.vb: DotNext.Runtime.ReadOnlyValueReference(Of T).CType(DotNext.Runtime.ReadOnlyValueReference(Of T))
+ nameWithType: ReadOnlyValueReference.implicit operator ReadOnlySpan(ReadOnlyValueReference)
+ nameWithType.vb: ReadOnlyValueReference(Of T).CType(ReadOnlyValueReference(Of T))
+- uid: DotNext.Runtime.ReadOnlyValueReference`1.op_Implicit*
+ name: implicit operator
+ href: api/DotNext.Runtime.ReadOnlyValueReference-1.html#DotNext_Runtime_ReadOnlyValueReference_1_op_Implicit_
+ commentId: Overload:DotNext.Runtime.ReadOnlyValueReference`1.op_Implicit
+ isSpec: "True"
+ name.vb: CType
+ fullName: DotNext.Runtime.ReadOnlyValueReference.implicit operator
+ fullName.vb: DotNext.Runtime.ReadOnlyValueReference(Of T).CType
+ nameWithType: ReadOnlyValueReference.implicit operator
+ nameWithType.vb: ReadOnlyValueReference(Of T).CType
- uid: DotNext.Runtime.ReadOnlyValueReference`1.op_Inequality(DotNext.Runtime.ReadOnlyValueReference{`0},DotNext.Runtime.ReadOnlyValueReference{`0})
name: operator !=(ReadOnlyValueReference, ReadOnlyValueReference)
href: api/DotNext.Runtime.ReadOnlyValueReference-1.html#DotNext_Runtime_ReadOnlyValueReference_1_op_Inequality_DotNext_Runtime_ReadOnlyValueReference__0__DotNext_Runtime_ReadOnlyValueReference__0__
@@ -40825,6 +40871,24 @@ references:
fullName.vb: DotNext.Runtime.ValueReference(Of T).New(Object, T)
nameWithType: ValueReference.ValueReference(object, ref T)
nameWithType.vb: ValueReference(Of T).New(Object, T)
+- uid: DotNext.Runtime.ValueReference`1.#ctor(`0)
+ name: ValueReference(T)
+ href: api/DotNext.Runtime.ValueReference-1.html#DotNext_Runtime_ValueReference_1__ctor__0_
+ commentId: M:DotNext.Runtime.ValueReference`1.#ctor(`0)
+ name.vb: New(T)
+ fullName: DotNext.Runtime.ValueReference.ValueReference(T)
+ fullName.vb: DotNext.Runtime.ValueReference(Of T).New(T)
+ nameWithType: ValueReference.ValueReference(T)
+ nameWithType.vb: ValueReference(Of T).New(T)
+- uid: DotNext.Runtime.ValueReference`1.#ctor(`0@)
+ name: ValueReference(ref T)
+ href: api/DotNext.Runtime.ValueReference-1.html#DotNext_Runtime_ValueReference_1__ctor__0__
+ commentId: M:DotNext.Runtime.ValueReference`1.#ctor(`0@)
+ name.vb: New(T)
+ fullName: DotNext.Runtime.ValueReference.ValueReference(ref T)
+ fullName.vb: DotNext.Runtime.ValueReference(Of T).New(T)
+ nameWithType: ValueReference.ValueReference(ref T)
+ nameWithType.vb: ValueReference(Of T).New(T)
- uid: DotNext.Runtime.ValueReference`1.#ctor(`0[],System.Int32)
name: ValueReference(T[], int)
href: api/DotNext.Runtime.ValueReference-1.html#DotNext_Runtime_ValueReference_1__ctor__0___System_Int32_
@@ -40967,6 +41031,15 @@ references:
fullName.vb: DotNext.Runtime.ValueReference(Of T).CType(DotNext.Runtime.ValueReference(Of T))
nameWithType: ValueReference.implicit operator ReadOnlyValueReference(ValueReference)
nameWithType.vb: ValueReference(Of T).CType(ValueReference(Of T))
+- uid: DotNext.Runtime.ValueReference`1.op_Implicit(DotNext.Runtime.ValueReference{`0})~System.Span{`0}
+ name: implicit operator Span(ValueReference)
+ href: api/DotNext.Runtime.ValueReference-1.html#DotNext_Runtime_ValueReference_1_op_Implicit_DotNext_Runtime_ValueReference__0___System_Span__0_
+ commentId: M:DotNext.Runtime.ValueReference`1.op_Implicit(DotNext.Runtime.ValueReference{`0})~System.Span{`0}
+ name.vb: CType(ValueReference(Of T))
+ fullName: DotNext.Runtime.ValueReference.implicit operator System.Span(DotNext.Runtime.ValueReference)
+ fullName.vb: DotNext.Runtime.ValueReference(Of T).CType(DotNext.Runtime.ValueReference(Of T))
+ nameWithType: ValueReference.implicit operator Span(ValueReference)
+ nameWithType.vb: ValueReference(Of T).CType(ValueReference(Of T))
- uid: DotNext.Runtime.ValueReference`1.op_Implicit*
name: implicit operator
href: api/DotNext.Runtime.ValueReference-1.html#DotNext_Runtime_ValueReference_1_op_Implicit_