* Implicit handlers building extensions generator refactored

* Telegram.Bot package updated
This commit is contained in:
2025-08-18 20:32:24 +04:00
parent cf598ea91e
commit c809470fb0
33 changed files with 654 additions and 150 deletions
@@ -0,0 +1,28 @@
using Microsoft.CodeAnalysis;
namespace Telegrator.RoslynExtensions;
public static class SymbolsExtensions
{
public static bool IsAssignableFrom(this ITypeSymbol symbol, string className)
{
if (symbol.BaseType == null)
return false;
if (symbol.BaseType.Name == className)
return true;
return symbol.BaseType.IsAssignableFrom(className);
}
public static ITypeSymbol? Cast(this ITypeSymbol symbol, string className)
{
if (symbol.BaseType == null)
return null;
if (symbol.BaseType.Name == className)
return symbol.BaseType;
return symbol.BaseType.Cast(className);
}
}