[英]c# added extension method but cannot use it
我將擴展方法添加到ArraySegment如下,但是當我使用它作為
var lines = TextControl.Lines;
ArraySegment<String> myArrSegOfRichTextControl =
new ArraySegment<string>(lines,0,2);
鍵入myArrSegOfRichTextControl后,我找不到Visual Studio提示GetSegment方法。 那么如何調用擴展的方法呢? 謝謝。
namespace ArraySegmentExtension
{
class ArraySegmentExtension
{
#region ArraySegment related methods
public static ArraySegment<T> GetSegment<T>(this T[] array, int from, int count)
{
return new ArraySegment<T>(array, from, count);
}
public static ArraySegment<T> GetSegment<T>(this T[] array, int from)
{
return GetSegment(array, from, array.Length - from);
}
public static ArraySegment<T> GetSegment<T>(this T[] array)
{
return new ArraySegment<T>(array);
}
public static IEnumerable<T> AsEnumerable<T>(this ArraySegment<T> arraySegment)
{
return arraySegment.Array.Skip(arraySegment.Offset).Take(arraySegment.Count);
}
public static T[] ToArray<T>(this ArraySegment<T> arraySegment)
{
T[] array = new T[arraySegment.Count];
Array.Copy(arraySegment.Array, arraySegment.Offset, array, 0, arraySegment.Count);
return array;
}
#endregion
}
}
擴展方法必須在static
類上定義。 從官方文檔中 :
- 定義一個靜態類以包含擴展方法。
嘗試像這樣定義您的班級:
public static class ArraySegmentExtension
{
...
}
如何using ArraySegmentExtension;
添加using ArraySegmentExtension;
在您的代碼文件之上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.