[英]Extension method must be defined in a non-generic static class Error public static
I have problem in my project .我的项目有问题。
I have this code:我有这个代码:
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
};
}
and I get an error:我收到一个错误:
Extension method must be defined in a non-generic static class
扩展方法必须在非泛型静态类中定义
I tried everything and still have this problem can someone explain me what I'm doing bad or show me something that i miss thank you anyway guys for any reply我尝试了一切但仍然有这个问题有人可以解释我做的不好或向我展示我想念的东西谢谢你们的任何回复
observe that I placed the static keyword观察我放置了 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,
};
}
}
Hope This helps!希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.