我正在创建电报机器人,但无法创建任何 InlineKeyboardButton 对象。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Telegram.Bot.Types.InlineKeyboardButtons;
namespace BuildAutomation.Controllers
{
public class Test
{
public TestMethod()
{
var none = new InlineKeyboardButton("No", "build|no");
var yes = "Yes";
var betaControl = new InlineKeyboardButton(yes, "build|betacontrol");
var betaNode = new InlineKeyboardButton(yes, "build|betanode");
var betaBoth = new InlineKeyboardButton(yes, "build|betaboth");
InlineKeyboardMarkup menu;
menu = new InlineKeyboardMarkup(new[] { betaBoth, none });
}
}
}
我不断收到错误“无法创建抽象类或接口(interface)“InlineKeyboardButton”的实例。我意识到 InlineKeyboardButton 是一个抽象类,但我看到很多创建 InlineKeyboardButton 对象的示例。
我错过了什么吗?
最佳答案
InlineKeyboardButton
的直接实例化在以前的 版本中是正确的。
大约一个月前有一个新的提交,这表明 InlineKeyboardButton
从那时起就被抽象了。您必须改用派生类。 InlineKeyboardUrlButton
、InlineKeyboardPayButton
等都是从InlineKeyboardButton
派生的。
示例的存储库似乎尚未更新。
检查此链接以获取有关上述提交的更多详细信息: https://github.com/TelegramBots/telegram.bot/commit/ddaa8b74e3ab5eab632dbe2e8916c2fe87b114a3
关于c# 无法创建 InlineKeyboardButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45657532/