RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-239394

Александр Ли's questions

Martin Hope
Александр Ли
Asked: 2020-03-12 05:15:03 +0000 UTC

是否有任何普遍接受的编写机器人的模式?

  • 1

我正在写一个电报机器人。不管我怎么用谷歌搜索,但到处都只有发送消息和其他东西的手册。我对机器人的架构感兴趣。

我的机器人很简单,基本上取代了程序的 UI。我做了类似状态机的事情,但没有从一种状态到另一种状态的显式转换。那些。我有一堆类继承自 BaseBotState 类的 Activate 方法。

当前状态存储在描述用户的对象中。

激活函数更改用户的当前状态,并在下一条消息中调用不同的状态。

有没有和我类似的更好的方法?某种最佳实践?

如果问题不是很具体,我深表歉意。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-12-19 04:29:02 +0000 UTC

如何获取所需类型的对象?

  • 0

我有一个表格列表(System.Windows.Forms.Form)。我想从此列表中获取特定类型的表单。也许代码会更清晰:

public List<Form> Forms = new List<Form>()
{
    new HelloForm(),
    new SomeForm()
};

public T GetForm<T>() where T : Form
{
    return Forms.Find(x => x.GetType() == T);
}

GetForm 函数中的错误:T 是在此上下文中无效的类型。如何正确书写?

澄清:.Net Framework 2.0(Linq 缺失)

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-08-09 03:29:31 +0000 UTC

在 MySql 中插入值时是否使用二进制搜索?

  • 1

谷歌搜索但不明白如何将值插入 MySql 表。

让我们说这个请求:

INSERT INTO employee(id, name) VALUES(200, 'Jason');

如果 id=200,将返回异常:

ERROR 1062 (23000): Duplicate entry '200' for key 'PRIMARY'

我想知道数据库是如何知道这个密钥的存在的?是循环遍历表中的所有值,还是进行二分查找?

mysql
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-12-15 15:00:17 +0000 UTC

为什么有时找不到 html 节点(HTMLAgilityPack)?

  • 2
    HtmlDocument doc = new HtmlDocument();

    doc.LoadHtml(item);

    string title=null;
    string cost= null;

    var titleNode = doc.DocumentNode.SelectSingleNode("//span[contains(@class, 'title-info-title-text')]");
    if (titleNode != null)
        title = titleNode.InnerText;

    var costNode = doc.DocumentNode.SelectSingleNode("//span[contains(@class, 'js-item-price')]");
    if(costNode!=null)
        cost = costNode.GetAttributeValue("content", "0");

这段代码在多个线程中执行,通常一切都很好。但有时 SelectSingleNode 返回 null。我设置了一个断点并手动检查。所需的标签是。感觉 doc.LoadHtml() - 异步工作,周期性地没有时间加载页面。还是我的内存快用完了?

也许有人遇到过这样的问题?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-11-19 13:39:35 +0000 UTC

如何将字符串数组绑定到由 RadioButton 组成的 ListView?

  • 0

有这个标记:

<ListView ItemsSource="{Binding Variants}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <RadioButton Content="(???)" GroupName="Variants"/>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

用于绑定到ItemSource Variants的是一个字符串数组。我无法理解我需要在内容中写什么RadioButton(现在有三个问号)。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-11-01 19:55:18 +0000 UTC

错误 XDG0008 名称“MainVM”在命名空间“clr-namespace:StepByStepServer.ViewModels”中不存在

  • 0

我无法弄清楚问题是什么。MainVM 存在于 StepByStepServer.ViewModels 中。当我将它输入 Xaml 时,甚至 ItelliSens 也会向我建议它作为 DataContext。应用程序正常构建并在组装期间拉起 MainVM。但在编辑器中,它发誓并且不编译 xaml 标记。

我经常遇到这个错误,每次都通过对文件、名称空间和代码的奇怪操作来解决。在某些时候 View 仍然可以找到 VM。不知道如何解决这个错误?

截图视图 虚拟机截图 截屏

我在输出中注意到了这一点。这可能是问题吗?

C:\Users[UserName]\AppData\Local\Microsoft\VisualStudio\15.0_038c39d7\Designer\ShadowCache\sthjutrr.znm\1sb2wpcf.lni\Microsoft.Practices.ServiceLocation.dll 尝试从网络共享加载程序集以前版本中的情况 .NET Framework 可能会导致程序集被沙盒化。此版本的 .NET Framework 不包含默认的 CAS 策略,因此此下载可能很危险。如果此加载不打算隔离程序集,请启用 loadFromRemoteSources 开关。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=155569。

我试图清理 ShadowCache。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-10-25 10:13:49 +0000 UTC

如何自动完成 DataGrid 中的一行?

  • 1

我使用 DataGridTemplateColumn 而不是通常的 DataGridTextColumn,因为 我不喜欢缺少文本换行(长文本)。

<DataGridTemplateColumn  Header="Текст вопроса" MaxWidth="200">
   <DataGridTemplateColumn.CellTemplate>
     <DataTemplate>
       <TextBox TextWrapping="Wrap" Text="{Binding Text, 
           UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
      </DataTemplate>
   </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

问题是当你点击ENTER的时候,元素并没有被创建,而是出现了换行。如何实现像你这样的行为PlaceHolder?

也许我没有正确的方法,文本换行可能会以不同的方式实现。我很乐意提供建议)

在此处输入图像描述

也许我应该使用迭代触发器跟踪焦点的丢失并将元素添加到集合中?那么在哪里采取,已经介绍了什么?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-10-16 01:57:07 +0000 UTC

如何隐藏基类方法?

  • 1

我有一个 WsEvent 类:

internal class WsEvent
{
    public string Name { get; private set; }

    public void Invoke() {}
}

还有它的广义继任者:

internal class WsEvent<T> : WsEvent
{
    public T EventData { get; private set; }

    public void Invoke(T Data) {}
}

我想在使用泛型类时隐藏基类的 Invoke() 方法。现在 IntelliSens 建议泛型类实例具有重载的 Invoke() 和 Invoke(T) 方法。我只想要调用(T)。

也许整个方法是错误的。我正在尝试随机学习通用类)

c#
  • 2 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-09-24 16:02:20 +0000 UTC

编辑器会因空项目而落后于什么?

  • 0

最近出现了一个问题。编辑在撒谎。就像我在 pubg 中与他同时以最高速度进行黑客攻击。甚至是新的空项目。当您在检查器中单击 GO 时,响应时间为 2 秒到 1 分钟。

我尝试重新安装设备。包括清理 AppData。

也许团结也受到最近互联网问题的影响。

可能还有哪些其他选择?

unity3d
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-09-09 06:07:06 +0000 UTC

如何更改具有共享材质的一组对象之一的颜色?

  • 0

有 10 个立方体。在每个挂着相同的材料。是否可以更改单个立方体的颜色?现在材料的颜色发生了变化,所有的立方体都被重新绘制了。颜色将从代码中设置,我不知道将使用什么颜色,因此创建 10 种不同颜色的材料不是一种选择。

unity3d
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-08-09 14:51:28 +0000 UTC

如何告诉命令是时候执行 CanExecute 了?c# WPF MVVM

  • 0

我最近开始学习 MVVM,到目前为止它已经引起了更多的问题。所谓的松散耦合——对我来说更像是“弱跟踪行为”。我正在使用 Prism.wpf。创建了委托命令。在 CanExecute 中指定 bool 模型变量。每次变量更改时,我都会调用 RaisePropertyChanged()。但是命令挂起的按钮不响应更改。还应该指定什么,以便每次通过模型更改进行更改时调用 CanExecute?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-07-20 20:36:32 +0000 UTC

如何杀死 DataContext 中的永恒循环?

  • 0

HttpListener 有一个包装类。立即从构造函数启动侦听器。此类通过标记添加为 DataContext。

我知道工作室在开发过程中显然会编译代码以在标记中显示依赖属性。

问题是即使没有运行项目,服务器也可以工作。而且当你尝试启动它时,它发誓这个前缀已经在这台电脑上注册了。

最终,工作室决定足够了。挂了。我必须结束她的痛苦

当然,您可以将服务器启动移动到单独的方法中,然后使用命令启动它。但我想解决问题,而不是绕过它。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-05-18 21:02:16 +0000 UTC

如何设置从 Button 继承的对象的样式?

  • 1

有一个类:

public class GLine : Button
{
    public int x, y;
    Game game;
    public GLine(int x, int y)
    {
        this.x = x;
        this.y = y;
        Grid.SetRow(this, y);
        Grid.SetColumn(this, x);
        DataContextChanged += GLine_DataContextChanged;
    }

    private void GLine_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
    {
        game = (Game)DataContext;
        Click += game.PlayerClick;
    }
}

如何使用放置该对象的 UserControl 的标记中描述的样式设置此类的对象?

TargetType = "Button" - 不起作用。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-04-28 05:42:14 +0000 UTC

是否可以在 Linux 上运行 SignalR 服务器?

  • 0

我参与了一个项目,在该项目中,我在获胜时有一个客户端聊天。寻找最好的方法。偶然发现了 SignalR,但找不到在 Linux 服务器上实现它的方法。真的有必要放弃几乎现成的解决方案吗?

如果有什么不清楚的地方:我在win下做一个聊天。服务器将由其他人在 linux 下开发。如果我可以通过 SignalR 与服务器通信,那对我来说将是理想的。最好使用 WebSocket 传输。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-04-26 06:58:26 +0000 UTC

如何通过反射正确调用使用引用的方法?

  • 0

抱歉,我想不出更好的方式来表达这个问题。我理解反思。我有自己的伪 WAMP 协议自行车 =) 我想通过 RPC 远程调用方法。因为我了解反射,所以我想让应用程序可扩展。那些。这样将来我就可以编写一个插件库。将其放入 wamp-server 文件夹并远程使用它。

实际上,当我在我的库中使用指向其他库的链接时,问题就出现了。服务器本身看不到第二个库,因此无法从我的库中执行该方法。

除了我的图书馆之外,我还可以如何连接我所引用的那些?

目前的方法是:

private string CallInvoke(WebSocketSession session, Call call)
        {
            try
            {
                string filepath = Environment.CurrentDirectory + "/Plugins/" + call.PluginFileName;

                //Если файл плагина не найден
                if (!File.Exists(filepath))
                {
                    CallError callError = new CallError(call.CallId, "Plugin file not found.\r\n(" + filepath + ")");
                    return JsonSerialize(callError);
                }
                Assembly asm = Assembly.LoadFile(filepath);
                Type _class = null;
                MethodInfo _method = null;

                var types = asm.GetTypes();

                //Если в плагине нет нужного класса
                if (types.Count(x => x.Name == call.ClassName) == 0)
                {
                    CallError callError = new CallError(call.CallId, "Class \"" + call.ClassName + "\" not found in assembly \"" + asm.FullName + "\".");
                    return JsonSerialize(callError);
                }

                _class = types.Single(x => x.Name == call.ClassName);

                var methodInfos = _class.GetMethods();

                //Если в классе нет нужного метода
                if (methodInfos.Count(x => x.Name == call.MethodName) == 0)
                {
                    CallError callError = new CallError(call.CallId, "Method \"" + call.MethodName + "\" not found in class \"" + call.ClassName + "\".");
                    return JsonSerialize(callError);
                }

                _method = methodInfos.Single(x => x.Name == call.MethodName);

                object result = null;

                if (call.Params is null)
                    result = _method.Invoke(null, null);
                else
                    result = _method.Invoke(null, new object[] { call.Params });

                CallResult callResult = new CallResult(call.CallId, result);
                return JsonSerialize(callResult);
            }catch(Exception ex)
            {
                CallError callError = new CallError(call.CallId, ex.Message);
                return JsonSerialize(callError);
            }
        }
c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-04-24 03:38:48 +0000 UTC

如何将 dll(c++) 连接到 c#?

  • 1

我知道这是一个普遍的问题。但我迫切需要它,而且我根本不是繁荣昌盛的。

您需要启用此功能:

DLL_EXPORT int __stdcall EvalCRC(IStream* Data, IStream* Params, IStream* Output)
{
    if (!Data) return ERROR_NULL_DATA;

    // Data - это входной поток с прошивкой, контрольку в которой нужно пересчитать
    // Params и Output пока не используются и зарезервированы на будущее
    int Result = PLUGIN_SUCCESS; // По-умолчанию возвращаем результат успешного выполнения

    ULARGE_INTEGER size_;
    LARGE_INTEGER larg_;

    //ENCODE_START

    larg_.QuadPart = 0;
    Data->Seek(larg_, STREAM_SEEK_END, &size_);

    // Считаем КС прошивки
    if (size_.QuadPart == VALIDFWSIZE1 || size_.QuadPart == VALIDFWSIZE2)
    {
        try
        {
            char arr[IDLEN+1];
            ULONG ulong;
            unsigned int caloffset;

            switch(size_.QuadPart)
            {
                case VALIDFWSIZE1:
                {
                    // Калибровки
                    larg_.QuadPart = CAL_POS1;
                    Data->Seek(larg_ ,STREAM_SEEK_SET, &size_);
                    Data->Read(&arr, sizeof(arr), &ulong); // Вычитываем идентификатор
                    arr[IDLEN]=0x00;

                    if (CheckNumber(arr)) caloffset=CAL_POS1;
                    else return ERROR_SIGNATURE;
                }
                break;
                case VALIDFWSIZE2:
                {
                    // Фулл
                    larg_.QuadPart = CAL_POS2;
                    Data->Seek(larg_ ,STREAM_SEEK_SET, &size_);
                    Data->Read(&arr, sizeof(arr), &ulong); // Вычитываем идентификатор
                    arr[IDLEN]=0x00;

                    if (CheckNumber(arr)) caloffset=CAL_POS2;
                    else
                    {
                        larg_.QuadPart = CAL_POS3;
                        Data->Seek(larg_ ,STREAM_SEEK_SET, &size_);
                        Data->Read(&arr, sizeof(arr), &ulong); // Вычитываем идентификатор
                        arr[IDLEN]=0x00;

                        if (CheckNumber(arr)) caloffset=CAL_POS3;
                        else return ERROR_SIGNATURE;
                    }
                }
                break;
            }

            larg_.QuadPart = caloffset;
            Data->Seek(larg_ ,STREAM_SEEK_SET, &size_);
            WORD wval=0;
            for(unsigned int i=0;i<(cRangeSize/2)-1;i++)
            {
                WORD wword;
                Data->Read(&wword, sizeof(WORD), &ulong);
                wword = (wword >> 8) | (wword << 8); // Переворачиваем
                if (i!=cCSPos/2) wval += wword; // Считаем все, кроме контрольных сумм
            }

            wval=0-wval;
            larg_.QuadPart = caloffset+cCSPos;
            Data->Seek(larg_ ,STREAM_SEEK_SET, &size_);
            wval = (wval >> 8) | (wval << 8); // Переворачиваем
            Data->Write(&wval, sizeof(WORD), &ulong);
        }
        catch(...)
        {
            Result = ERROR_EXCEPTION;
        }
    }
    else Result = ERROR_INVALID_SIZE;

    return Result;
}

为大家试过,然后数据类型不匹配,然后只是一些没有错误和结果的崩溃。如果不难,请告诉我连接字符串应该是什么样子?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-02-23 17:29:26 +0000 UTC

如何监听使用的 COM 端口?

  • 0

有一个桌面程序可以向通过 com-port 连接的设备发送命令。是否可以在 C# 中嗅探从软件到设备的流量?像 Mitm 这样的东西浮现在脑海中,即 创建您自己的端口并通过它传递流量。可能吗?还是应该以其他方式完成?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-12-28 18:02:36 +0000 UTC

为什么我对 Yobit.net 交换 API 的请求返回 404 错误?

  • 0

我正在尝试完成信息请求。遵循了 api 的所有说明,但仍然得到 404。

我想执行来自 TradeApi getInfo 的请求。POST https://yobit.net/tapi/getInfo?nonce=1 标头:密钥:{api public key} 签名:{string "?nonce=1" 通过 HMAC-SHA512 用私钥编码}

响应总是 404。怎么了?

我附上代码。要求:

public APIResponse Request(string method, Dictionary<string, string> param = null, int ReRequestCount = 3)
{
    lock (locker)
        nonce = IncrementNonce();

    string urlParamStr = "?";
    using (HttpRequest request = new HttpRequest())
    {
        if (param != null)
            foreach (KeyValuePair<string, string> pair in param)
            {
                request.AddUrlParam(pair.Key, pair.Value);
                urlParamStr += pair.Key + "=" + pair.Value + "&";
            }
        request.AddUrlParam("nonce", nonce);
        urlParamStr += "nonce=" + nonce;
        string signedData = Get_HMAC_SHA512_Hash(Sign, urlParamStr);

        request.AddHeader("Key", Key);
        request.AddHeader("Sign", signedData);

        HttpResponse response = request.Post("https://yobit.net/tapi/" + method.ToString());
        if (response.StatusCode != HttpStatusCode.OK)
        {
            if (ReRequestCount > 0)
            {
                return Request(method, param, --ReRequestCount);
            }
            else
            {
                return null;
            }
        }
        else
        {
            return JsonConvert.DeserializeObject<APIResponse>(response.ToString());
        }
    }
}

HMAC 生成器:

public string Get_HMAC_SHA512_Hash(string key, string source)
{
    byte[] secretkeyBytes = Encoding.UTF8.GetBytes(key);
    byte[] inputBytes = Encoding.UTF8.GetBytes(source);
    using (var hmac = new HMACSHA512(secretkeyBytes))
    {
        byte[] hashValue = hmac.ComputeHash(inputBytes);

        string s = "";
        for (int i = 0; i < hashValue.Length; i++)
        {
            s += string.Format("{0:x2}", hashValue[i]);
        }
        return s;
        //return System.Convert.ToBase64String(hashValue);
    }
}
c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-12-24 21:56:49 +0000 UTC

如何将 WPF 应用程序变成控制台应用程序?

  • 3

有一个 WPF 应用程序。我已经写了很多代码,我不想创建一个控制台并在那里传输代码。是否有可能以某种方式将我的应用程序变成一个几乎没有流血事件的控制台应用程序?项目属性中的输出类型已更改。现在,据我了解,您需要更改入口点,以便不初始化窗口(正确,我不明白如何写单词(=)。我试图注释掉该行:

InitializeComponent();

但是窗口仍然出现......显然,我不明白这一行。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Александр Ли
Asked: 2020-12-16 21:35:37 +0000 UTC

如何确定第三方进程使用的文件?

  • 9

有一个包含 8GB 小 (1-5MB) 文件的文件夹。有一个应用程序使用这些文件之一。我需要确定当前正在使用哪个文件。

我认为它一直在监听该过程并试图捕捉对 winApi 的调用以打开文件。或者遍历所有文件并尝试打开它们进行写入。

这两种选择都有些不合理。有人可以告诉我如何处理我的情况吗?

c#
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5