示例#1
0
 public TRet GetReference <TRet>(int index, Reference.RefFunc <T, TRet> func)
 {
     if (index < 0 || index >= count)
     {
         throw new ArgumentOutOfRangeException("index");
     }
     return(func(ref _items[index]));
 }
示例#2
0
 public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func)
 {
     return(GetReference <TRet>(tr => tr.AsRef(func)));
 }
示例#3
0
 /// <summary>
 /// Obtains a reference to an element in this array.
 /// </summary>
 public TRet GetReference <TRet>(int index, Reference.RefFunc <T, TRet> func)
 {
     return(func(ref array[index].Value));
 }
示例#4
0
 /// <summary>
 /// Converts a pointer to a reference.
 /// </summary>
 /// <param name="ptr">The pointer to convert.</param>
 /// <param name="func">The function to receive the reference.</param>
 /// <returns>The value returned by <paramref name="func"/></returns>
 public static TRet GetReference <T, TRet>(IntPtr ptr, Reference.RefFunc <T, TRet> func) where T : struct
 {
     return(Reference.CacheHelper <T> .WithRet <TRet> .FromPtr(ptr, func));
 }
示例#5
0
 /// <summary>
 /// Converts a pointer to a reference.
 /// </summary>
 /// <param name="ptr">The pointer to convert.</param>
 /// <param name="func">The function to receive the reference.</param>
 /// <returns>The value returned by <paramref name="func"/></returns>
 public static TRet GetReference <T, TRet>(Pointer <T> ptr, Reference.RefFunc <T, TRet> func) where T : struct
 {
     return(GetReference <T, TRet>(ptr.ToIntPtr(), func));
 }
示例#6
0
 public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func)
 {
     return(UnsafeTools.GetReference(this, func));
 }
示例#7
0
 public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func)
 {
     return(func(ref Array[Index]));
 }
示例#8
0
 public static TRet AsRef <T, TRet>(this TypedReference tr, Reference.RefFunc <T, TRet> act)
 {
     return(ConvHelper <T> .WithRet <TRet> .Convert(tr, act));
 }
示例#9
0
 public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func)
 {
     return(Reference.GetBoxedData(Instance, func));
 }
示例#10
0
 public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func)
 {
     return(func(ref Value));
 }