簡體   English   中英

擴展方法必須在非泛型靜態類中定義錯誤 public static

[英]Extension method must be defined in a non-generic static class Error public static

我的項目有問題。

我有這個代碼:

public static TitleInfoPacket GenerateTitInfo(this ICharacterDAO visualEntity)
{
    var visibleTitle = visualEntity.Titles.FirstOrDefault(s => s.Visible)?.TitleType;
    var effectiveTitle = visualEntity.Titles.FirstOrDefault(s => s.Active)?.TitleType;

    return new TitleInfoPacket
        {
            VisualId = visualEntity.VisualId,
            EffectiveTitle = effectiveTitle ?? 0,
            VisualType = visualEntity.VisualType,
            VisibleTitle = visibleTitle ?? 0,
        };
}

public TitlePacket GenerateTitle(this ICharacterDAO visualEntity)
{
    var data = visualEntity.Titles.Select(s => new TitleSubPacket
        {
            TitleId = (short)(s.TitleType - 9300),
            TitleStatus = (byte)((s.Visible ? 2 : 0) + (s.Active ? 4 : 0) + 1)
        }).ToList();

    return new TitlePacket
           {
                Data = data.Any() ? data : null
           };
}

我收到一個錯誤:

擴展方法必須在非泛型靜態類中定義

我嘗試了一切但仍然有這個問題有人可以解釋我做的不好或向我展示我想念的東西謝謝你們的任何回復

觀察我放置了 static 關鍵字

public static class MyExtensionsClass {

   // extension methods here
    public static TitleInfoPacket GenerateTitInfo(this ICharacterDAO 

 visualEntity)
    {
      var visibleTitle = visualEntity.Titles.FirstOrDefault(s => s.Visible)?.TitleType;
      var effectiveTitle = visualEntity.Titles.FirstOrDefault(s => s.Active)?.TitleType;
return new TitleInfoPacket
    {
        VisualId = visualEntity.VisualId,
        EffectiveTitle = effectiveTitle ?? 0,
        VisualType = visualEntity.VisualType,
        VisibleTitle = visibleTitle ?? 0,
    };
  }
}

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM