RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Evgeniy Miroshnichenko's questions

Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-11-20 00:35:27 +0000 UTC

更新数据库 (MSSQL) 时,出现错误“数据库中已存在名为‘武器’的对象。”

  • 1

运行 update-database 命令时,出现错误:

数据库中已经有一个名为“武器”的对象。

有几种 EF Core 模型(结构简化):

abstract class Weapon {
   public int    Id   { get; set; }
   public string Name { get; set; }
}

class Axe : Weapon {
}

class Sword : Weapon {
}

class GameDbContext : DbContext {
    public DbSet<Weapon>   Weapons   { get; set; }

    public GameDbContext(DbContextOptions options) : base(options){
        this.Database.EnsureCreated();
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder) {
         base.OnModelCreating(modelBuilder);

         this.SetModelsConfigurations(modelBuilder);

         modelBuilder.Entity<Axe>  ().HasBaseType<Weapon>();
         modelBuilder.Entity<Sword>().HasBaseType<Weapon>();
    }
}

给定模型的命令“add-migration Init”正常执行,没有错误。但是在运行 update-database 命令时,出现错误:

数据库中已经有一个名为“武器”的对象。

为什么会发生此错误?需要完成/删除/添加哪些数据库设置才能使代码正常工作?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-09-08 04:37:45 +0000 UTC

如何获取给定 Unicode 类别的字符集?

  • 3

为了获得指定 Unicode 类别的给定字符集,我创建了一个字典charInfo:

// Get all Unicode groups:
Dictionary<UnicodeCategory, IGrouping<UnicodeCategory, string>> charInfo = (
      Enumerable.Range(0, 0x110000)
          .Where  (x => (x < 0x00D800 || x > 0x00DFFF))
          .Select (Char.ConvertFromUtf32)
          .Where  (x => x.Length == 1   )
          .GroupBy(s => Char.GetUnicodeCategory(s, 0))
          .ToDictionary(g => g.Key)
);

当我从字典中提取类别时UnicodeCategory.DashPunctuation:

var characters = CharInfo[UnicodeCategory.DashPunctuation]?.ToArray();

结果是一个由 25 个字符组成的数组characters,而根据该类别中的 Unicode 文档,只有 24 个字符。

我使用测试和正则表达式检查了结果数组的字符是否属于 \p{Pd} (Unicode Character Category 'Punctuation, Dash') 类别:

Regex.IsMatch(value, @"\p{P}", RegexOptions.Multiline);

结果,在 25 个非 Unicode 'Punctuation, Dash' 中找到了 1 个字符。

请解释为什么我得到 25 个字符而不是 24 个字符。错误在哪里?如何解决?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-08-29 02:09:49 +0000 UTC

如何以编程方式转义字符串中的控制字符?

  • 6

我需要插入正则表达式模式:

$@"^(?:[^\p{{L}}]|[{exclusion}])+$" //Цель: Запретить использование каких либо букв в строке, кроме тех что заданы в переменной - exclusion

字符串变量:

string exclusion;

其中所有控制字符都将被转义,这将避免与正则表达式的操作相关的错误。

我找到了一个方法Regex.Escape()。但这不适合我的需要。例如,如果一个值被exclusion = @"[text]"传递给一个方法Regex.Escape(),它将返回一个字符串"\\[text]"。将此行插入模式后,而不是排除变量:

$@"^(?:[^\p{{L}}]|[{exclusion}])+$" //Цель: запретить использование каких либо букв в строке, кроме тех что заданы в переменной - exclusion

它采用以下形式:

$@"^(?:[^\p{{L}}]|[\[text]])+$"

因此,正则表达式无法正常工作。我怀疑原因是一个额外的字符-]

你能告诉我如何转义字符串中的所有控制字符吗?除了 Regex.Escape() 方法还有其他方法吗?也许我以某种方式错误地使用它并且没有注意到我的错误?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-08-23 21:47:20 +0000 UTC

正则表达式“\p{N}+”不匹配数字字符

  • 4

根据 C# 文档:

C# 中的正则表达式支持常见的 Unicode 类别,包括:

Nd - 数字:十进制数字

Nl - 数字:字母

否 - 编号:其他

N - 所有数字。包括类别 Nd、Nl 和 No。

为了测试一个正则表达式\p{N}可以包含类别 Nd、Nl 和 No 的断言,我编写了一个可以获取类别 N 的完整字符集的代码:

// Get all Unicode groups:
Dictionary<UnicodeCategory, IGrouping<UnicodeCategory, string>> charInfo = (
      Enumerable.Range(0, 0x110000)
          .Where  (x => (x < 0x00D800 || x > 0x00DFFF))
          .Select (Char.ConvertFromUtf32)
          .GroupBy(s => Char.GetUnicodeCategory(s, 0))
          .ToDictionary(g => g.Key)
);

// Get all number unicode groups:
string[] Nd = charInfo[UnicodeCategory.DecimalDigitNumber].ToArray();
string[] Nl = charInfo[UnicodeCategory.LetterNumber      ].ToArray();
string[] No = charInfo[UnicodeCategory.OtherNumber       ].ToArray();

string[] N = Nd.Union(Nl).Union(No).ToArray();

通过NUnit 测试中N的正则表达式运行生成的组字符集:

Regex.IsMatch(symbol, @"\p{N}+", RegexOptions.Multiline);

我得到的结果是数组 N 的一半字符没有通过方法的测试Regex.IsMatch()。

未通过测试的字符示例:𐒠、𐒡。他们中的大多数看起来像:𖭖

你能告诉我为什么正则表达式不能识别属于“数字”类别的字符\p{N}+吗?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-08-19 19:17:00 +0000 UTC

同时使用 this(...) 和 base(...) 声明类构造函数的语法

  • 0

根据 C# 文档:

构造函数可以使用 this 关键字在同一个对象上调用另一个构造函数。

构造函数可以使用 base 关键字来调用基类构造函数。

文档清楚地描述了如何单独使用它们。但是没有提到是否可以在同一个构造函数中同时使用 this(...) 和 base() 。

例如(代码抛出错误):

class A {
   private string PropA {get; set;}
   public A() {}
   public A(string propA) this.PropA = propA;
}

class B : A {
   private string PropB_1 {get; set;}
   private string PropB_2 {get; set;}

   public B(string propB_1) => this.PropB_1 = PropB_1;
   public B(string propB_1, string propB_2, string propA) : this(propB_1), base(A) // ошибка
   {
       this.PropB_2 = propB_2;
   }
}

告诉我,c# 是否支持同时调用 this(...) 和 base(...) 的能力?如果是,请指出语法。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-08-18 01:51:28 +0000 UTC

正则表达式 \W+ 在字符串中找不到字符“_”

  • 5

根据C# 语言文档:

\W- 匹配任何不是字母数字字符的字符。

对我来说,假设下划线字符“_”属于这个定义似乎是合乎逻辑的。

但在实践中,结果证明正则表达式 -@"\W+"在字符串中找不到下划线字符 - @"@$^&#№_\|/*-+=~%{}()[];:,.!?'"""`

你能解释一下为什么正则表达式找不到下划线字符-“_”吗?

c#
  • 2 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-05-11 18:11:17 +0000 UTC

Jasmine + TypeScript,找不到 Spy 类的 withArgs() 方法

  • 0

根据 Jasmine 文档,Spy 对象有一个 withArgs() 方法

spyOn(someObj, 'func').withArgs(1, 2, 3).and.returnValue(42);

我在 TypeScript 改编版本中找不到这种方法。我使用 angular-cli (ng new) 创建了一个 Angular 项目,Jasmine 设置是开箱即用的。尝试调用 withArgs() 方法时,Visual Code 说 Spy 类型中不存在此方法...

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-01-20 00:27:04 +0000 UTC

如何在不将给定控件插入 XAML 的情况下获取 WebBrowser 控件的 LoadCompleted 事件?

  • 4

我不需要在 XAML 中使用 WebBrowser,我只需要它能够在加载的 HTML 页面的标签之一上触发 Click 事件。

在页面加载之前,我无法在我想要的标签上触发 Click 事件。为了接收页面加载通知,我需要订阅 LoadCompleted 事件。但据我所知,在将 WebBrowser 添加到 XAML 之前,不会触发 LoadCompleted 事件。

因为我想并行加载许多 HTML 页面,所以在加载多个页面之一之前不断地将 WebBrowser 控件添加到 XAML 标记中,并在加载所需页面后从该标记中删除它的前景不是很方便。

我的目标是访问加载的 HTML 页面上的 Click 事件调用,而不用摆弄 XAML。

是否可以访问 WebBrowser 控件的 LoadCompleted 事件而不将其绑定到 XAML。可能吗?也许还有其他方法?

反映问题本质的代码(WebBrowser 未添加到 XAML)

public partial class SettingsWindow : Window
{
    private WebBrowser browser = new WebBrowser();

    public SettingsWindow()
    {
        InitializeComponent();

        this.browser.LoadCompleted += Browser_LoadCompleted;
        this.browser.Source         = new Uri(@"https://www.google.com.ua/");
        //this.browser.Navigate(path); <-- пробовал загружать страницу и этим способом.
    }

    private void Browser_LoadCompleted(object sender, NavigationEventArgs e)
    {
        // Этот обработчик никогда не вызывается если объект WebBrowser не 
        // добавлен в XAML или не добавлен программным путем в качестве 
        // дочернего компонента к одному из существующих контролов окна.
    }        
}
c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-01-10 19:12:09 +0000 UTC

如何获取从 ComboBox 继承的 CustomControl 内的 TextBox 的链接?

  • 1

描述:我需要获取对位于 ComboBox 内的 TextBox 的引用,以便控制该特定元素的 GotFocus 和 LostFocus 事件,因为我对整个 ComboBox 的焦点不感兴趣。

首先,我通过创建一个 UserControl 实现了预期的结果,在该 UserControl 中我收到了一个指向 TextBox 的链接,使用:

comboBox.Template.FindName("PART_EditableTextBox", comboBox)

在 UserControl 中一切正常。

之后我决定制作自己的 CustomControl。我想获得现有的 ComboBox 功能并添加我自己的逻辑。为此,我创建了

public abstract class MeasureComboBox<InstanceT, EnumT> : ComboBox 
{
    // ...
}

在这个抽象类的构造函数中,我想再次使用 Template.FindName() 来获取对 TextBox 的引用,但是这次这个方法返回了 null。这是我使用此方法的构造函数代码:

public MeasureComboBox()
{
   this.TextBox            = this.Template.FindName("PART_EditableTextBox", this) as TextBox;
   this.TextBox.GotFocus  += TextBox_GotFocus;
   this.TextBox.LostFocus += TextBox_LostFocus;
}

问题:您能否评论一下为什么此方法返回 null 以及是否可以获得对 this.TextBox 的引用。

注意:创建 CustomControl 时,我需要 ComboBox 的现有逻辑和设计才能工作。由于我不打算对设计进行更改,因此我从构造函数中删除了该方法:

DefaultStyleKeyProperty.OverrideMetadata(typeof(MeasureComboBox<InstanceT, EnumT>), new FrameworkPropertyMetadata(typeof(MeasureComboBox<InstanceT, EnumT>)));

这是一个与我的问题有关的 CustomControl 的损坏示例。我尽可能地简化了课程的内容,以显示特定的问题区域。执行此代码时,字段 TextBox = null:

public class MeasureComboBox : ComboBox
{
    #region FIELDS
    /// <summary>
    /// TextBox that bilongs to ComboBox control. 
    /// </summary>
    private TextBox TextBox;
    #endregion

    static MeasureComboBox()
    {
    }

    public MeasureComboBox()
    {

    }

    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();

        // Почему здесь возвращается null?
        this.TextBox = this.Template.FindName("PART_EditableTextBox", this) as TextBox;
    }
}
c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-12-01 02:46:19 +0000 UTC

如何访问类型项目中的 ICloneable 接口 - 类库?

  • 3

我创建了一个类型类库的 C# 项目。之后,我创建了一个包含一个类的文件,并尝试从 ICloneable 类继承。VisualStudio 2017 在名称 ICloneable 下划线表示存在错误。在VisualStudio针对这个问题提供的解决方案中,建议自己创建这个界面。

换句话说,ICloneable 接口不可用/未创建。

文档说这个类默认在命名空间中可用 - using System; 但实际上,对于一个类型项目——一个类库,这个规则是行不通的。因为“系统”命名空间附加到我的文件中。

出于兴趣,我创建了一个控制台项目,并尝试从其中的 ICloneable 接口继承。结果,在这种类型的项目中,界面可用,一切正常。事实证明,整个障碍都在所创建项目的类型中。

如何访问类型项目中的 ICloneable 接口 - 类库?

我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UrlBuilder.Url.Sections.ProductModels.Transport.Cars
{
    public class Class1 : ICloneable
    {
        public Class1 Clone()
        {
            return new Class1();
        }
    }
}

正如您在 VisualStudio 2017 中看到的,此代码会引发错误:

c#
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-05-13 03:57:26 +0000 UTC

如何将道具传递给使用“组件”伪元素呈现的组件?

  • 0

我不明白如何将属性传递给使用“组件”伪元素呈现的组件。

例子:

<component :is="ChildComponent">

如何将参数传递给 ChildComponent?

vue.js
  • 1 个回答
  • 10 Views
Martin Hope
Evgeniy Miroshnichenko
Asked: 2020-05-12 14:46:38 +0000 UTC

如何以适合在浏览器中显示给客户端的表格形式提取具有所有关系的模型?

  • 1

有一张订单表。它链接到表 - 客户和表 - 服务。在输出中检索带有链接的模型,我得到以下形式的 json 数组:

[
  {
    "id": 8,
    "service_id": 3,
    "customer_id": 8,
    "date": "29.05.2017",
    "time": "11:00:00",
    "created_at": "2017-05-11 21:59:49",
    "updated_at": "2017-05-11 21:59:49",
    "deleted_at": null
  },

...
]

如何做到这一点,而不是模型中指定的键,并且可能更好,只是除了提取对象中已经存在的字段之外,还有相关模型的字段。例如:

  [
      {
        "id": 8,
        "service_id": 3,

        "service_name": "укладка" //

        "customer_id": 8,

        "customer_name": "Евгений", //
        "customer_phone":"05022222288", //

        "date": "29.05.2017",
        "time": "11:00:00",
        "created_at": "2017-05-11 21:59:49",
        "updated_at": "2017-05-11 21:59:49",
        "deleted_at": null
      },

 ...
]

或者

  [
      {
        "id": 8,
        "service":{
             "name":"укладка" //
        },
        "customer":{
             "name": "Евгений", //
             "phone":"05022222288", //
        },
        "date": "29.05.2017",
        "time": "11:00:00",
        "created_at": "2017-05-11 21:59:49",
        "updated_at": "2017-05-11 21:59:49",
        "deleted_at": null
      },

换句话说,我希望来自其他表的数据及其字段的内容(不仅仅是外键形式的裸 ID)位于具有从数据库中提取的关系的模型中。您需要获得一个可以方便地在浏览器中显示的表格。

获得预期结果的唯一方法是 JOINs?Laravel 中有现成的解决方案可以生成我需要的表格吗?

php
  • 2 个回答
  • 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