|
|
@@ -13,7 +13,7 @@ namespace ET.Analyzer
|
|
|
{
|
|
|
private const string Title = "实体类添加或获取组件类型错误";
|
|
|
|
|
|
- private const string MessageFormat = "组件类型: {0} 不允许作为实体: {1} 的组件类型! 若要允许该类型作为参数,请使用ParentTypeAttribute对组件类标记父级实体类型";
|
|
|
+ private const string MessageFormat = "组件类型: {0} 不允许作为实体: {1} 的组件类型! 若要允许该类型作为参数,请使用ComponentOfAttribute对组件类标记父级实体类型";
|
|
|
|
|
|
private const string Description = "实体类添加或获取组件类型错误.";
|
|
|
|
|
|
@@ -109,7 +109,6 @@ namespace ET.Analyzer
|
|
|
//Component为非泛型调用
|
|
|
else
|
|
|
{
|
|
|
-
|
|
|
SyntaxNode? firstArgumentSyntax = invocationExpressionSyntax.GetFirstChild<ArgumentListSyntax>()?.GetFirstChild<ArgumentSyntax>()
|
|
|
?.ChildNodes().First();
|
|
|
if (firstArgumentSyntax == null)
|
|
|
@@ -149,6 +148,10 @@ namespace ET.Analyzer
|
|
|
}else if (firstArgumentSymbol is INamedTypeSymbol namedTypeSymbol)
|
|
|
{
|
|
|
componentTypeSymbol = namedTypeSymbol;
|
|
|
+ }else if (firstArgumentSymbol is ITypeParameterSymbol)
|
|
|
+ {
|
|
|
+ // 忽略typeof(T)参数类型
|
|
|
+ return;
|
|
|
}
|
|
|
else if (firstArgumentSymbol != null)
|
|
|
{
|