RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Pupkin's questions

Martin Hope
Pupkin
Asked: 2020-10-24 19:33:20 +0000 UTC

自动映射器。CreateMap 内部的映射

  • 0

我有一些这样的代码:

CreateMap<Entity, EntityResponse>(); // #1

CreateMap<Source<Entity>, Dest<EntityResponse>>()
    .ConvertUsing(source =>
    {
        // здесь мне нужно вызвать маппинг описанный в строке 1#
        EntityResponse resp = <mapping>; 
        int someInt = source.SomeInt;
        string someStr = source.SomeString;
        return new Dest(resp, someInt, someString);
    });

该类Dest具有以下构造函数:

Dest(EntityResponse item, int someInt, string someStr)

我如何调用映射 from Entityto EntityResponse?提前致谢

c#
  • 1 个回答
  • 10 Views
Martin Hope
Pupkin
Asked: 2020-10-03 18:24:06 +0000 UTC

Android 应用程序中的按钮样式

  • 0

尝试在 Android 应用程序中设置按钮样式时遇到问题。我想制作一个具有顶部和底部边框的按钮,单击该按钮会更改文本颜色并且边框会消失。老实说,我在互联网上复制了边框的代码,并自己添加了一部分。不幸的是,标记不能正常工作。单击按钮时,文本颜色会发生变化,但边框不会消失。请告诉我如何解决这个问题。如果有人简而言之告诉它是如何工作的,那就太好了。下面是我的代码。

按钮:

<Button 
    android:layout_width="100dp"
    android:layout_height="50dp"        
    android:text="Some button"       
    android:textColor="@drawable/ButtonTextColor"
    android:background="@drawable/Button" />

按钮.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
  <!-- обычное состояние кнопки/ Этот код скопирован в интернете, 
   и я не до конца понимаю, что он делает -->
  <item>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
      <item
        android:bottom="1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="1dp">
        <shape android:shape="rectangle" >
          <stroke
            android:width="1dp"
            android:color="#f00" />
          <solid android:color="#223" />
          <padding
            android:bottom="10dp"
            android:left="10dp"
            android:right="10dp"
            android:top="10dp" />
        </shape>
      </item>
    </layer-list>
  </item>

  <!-- когда кнопка нажата. Бордеры должны пропасть, но не пропадают -->
  <item android:state_pressed="true">
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
      <solid android:color="#ff0"/>
    </shape>
  </item>
</selector>

按钮文本颜色.xml。一切似乎都很好,按下时按钮的颜色会发生变化:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
  <item android:state_pressed="true" android:color="#fff" />
  <item android:color="#f00" />
</selector>
android
  • 2 个回答
  • 10 Views
Martin Hope
Pupkin
Asked: 2020-01-19 19:41:53 +0000 UTC

获取VK中群组的订阅者数量

  • 0

下午好!我正在使用 Vkontakte API 编写应用程序。但是我找不到可以让我获得任何组的订阅者数量的方法。出于某种原因,获取有关组的信息的方法不提供此类信息。是否有可能以某种方式找出任意组的订阅者数量?也许我错过了正确的方法?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Pupkin
Asked: 2020-09-27 19:18:10 +0000 UTC

数据上下文欺骗和测试

  • 1

下午好!我有一个 asp.net mvc web 应用程序。为了使用数据库,我使用了一个通过实体框架与数据库通信的存储库类。我决定为 Repository 类编写单元测试,为此,我没有使用特定的数据上下文类,而是使用依赖注入实现了一个接口。是这样的:

public class MyContext: DbContext 
{
    DbSet<Foo> Foo { get; set; }    
}

public class Repository 
{
    private MyContext _context;

    public Repository() 
    {
        _context = new MyContext();
    }

    public Foo GetFoo(int id)
    {
        return _context.Foo.Find(id);
    }
}

变成了这样:

public interface IMyContext 
{
    DbSet<Foo> Foo { get; set; }
}

public class MyContext: DbContext, IMyContext 
{
    DbSet<Foo> Foo { get; set; }    
}

public class Repository 
{
    private IMyContext _context;

    public Repository(IMyContext context) 
    {
        _context = context;
    }

    public Foo GetFoo(int id)
    {
        return _context.Foo.Find(id);
    }
}

一切似乎都很好——存储库对上下文的具体实现一无所知,您可以将假上下文插入其中以进行测试。但并非一切都如此简单。如您所见,接口本身“了解”此类实体,DbSet<T>以及 EntityFramework 的其他细节,为简洁起见,上述代码中省略了这些细节。也就是说,包含单元测试的项目需要包含 EntityFramework 包。这在多大程度上是正确的?还是需要以其他方式测试存储库?

c#
  • 3 个回答
  • 10 Views
Martin Hope
Pupkin
Asked: 2020-01-31 18:07:40 +0000 UTC

测试和摆脱阶级凝聚力。

  • 3

下午好!我有一个 asp.net mvc 应用程序。在其中,我试图“明智地”创建一个架构——使用依赖注入、测试等。该应用程序具有包含业务逻辑的服务类。我需要用测试覆盖这些服务。许多服务使用设置类,其实例在构造函数中传递给它们。例如:

public class AppSettings  
{
    public AppSettings()
    {
        SomeStr =  WebConfigurationManager.AppSettings["str"]).ToString();  
        // и еще несколько подобных  строк         
    }

    public string SomeStr { get;set; }
}


public class MyService 
{
    public MyService(AppSettings settings)
    {
        _settings = settings;
    }

    private readonly AppSettings _settings;
}

问题就在这里。在类构造函数AppSettings中,初始化了一些变量,这些变量的数据是从web.config文件中获取的。在应用程序本身的代码中,这是可行的,但是如果我尝试MyService在单独的测试应用程序中测试该类,则会出现问题:该类需要传递一个实例AppSettings,但是在创建它时,由于以下原因发生异常无法访问web.config。另外,我不直接自己创建类,DI 库会这样做。在这种情况下如何以及如何正常测试MyService?此外,在我看来,问题在于类构造函数AppSettings中有一个对 web.config 的调用。请告诉我如何解决这个问题?先感谢您。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Pupkin
Asked: 2020-11-22 21:51:11 +0000 UTC

正确实施 Dispose

  • 10

再会!我有个问题。假设我有一个实现 IDisposable 接口的类。此类具有某种也实现此接口的托管资源。这是我班级的最少代码。

class MyClass : IDisposable
{
    private SomeContext _context = new SomeContext();

    public void Dispose() 
    {
        if(_context != null)    
            _context.Dispose();
    }
}

然后我有一个问题。这个实现有多正确?更准确地说,它有多大的错误以及它有什么威胁?(我到处都看到了更复杂的 Dispose 模式实现)。似乎只有一个 IDisposable 字段(假设它在其内部正确实现了这种模式),为了正确释放资源,只需在正确的时间调用 _context 字段的 Dispose 方法即可. 我哪里错了?这样一个简单的实现是否适用于实践,为什么它通常不好?

c#
  • 2 个回答
  • 10 Views
Martin Hope
Pupkin
Asked: 2020-09-25 00:54:58 +0000 UTC

实体框架。使用外键添加记录时出现问题

  • 0

有一个非常简单的脚本用于使用实体框架。我正在使用 Code First 方法,我有两个类:

public class First
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id { get; set; }

    public string Name { get; set; }
}    

public class Second
{
    [Key]
    public int Id { get; set; }

    public virtual First Foreign { get; set; }

    public DateTime Date {get; set; }        
}

和上下文:

public class MyContext : DbContext
{
    public MyContext() : base("MyConnection")
    { }

    public DbSet<First> FirstTable { get; set; }

    public DbSet<Second> SecondTable { get; set; }
}

然后我创建第二个实体的列表并尝试将它们添加到数据库中。同时,来自这个数组的不同 Seconds 可以有相同的 First 字段(通常的比例是 1 比 many)。

var f = new First {Id = 1, Name = "first"};
var s = new First { Id = 2, Name = "second" };

res = new List<Second>();
res.Add(new Second { Date = DateTime.Now, Foreign = f });
res.Add(new Second { Date = DateTime.Now, Foreign = s });
res.Add(new Second { Date = DateTime.Now, Foreign = f });

using (var ctx = new MyContext())
{
    var firsts = new[] {f, s};
    foreach (var item in firsts)
        ctx.Entry(item).State = EntityState.Added;

    foreach (var item in res) 
    {
        ctx.FirstTable.Attach(item.Foreign);         
        ctx.SecondTable.Add(item);
    } 
    ctx.SaveChanges();
}

看起来一切都很简单:在SrcondsTable表中有一个FirstTable表通过外键与SecondTable表以一对多的关系关联起来。

但在这里我遇到了一个例外

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_dbo.Seconds_dbo.Firsts_Foreign_Id". The conflict occurred in database "MyDatabase", table "dbo.Firsts", column 'Id'. The statement has been terminated.

如何修复此错误?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Pupkin
Asked: 2020-09-01 18:55:35 +0000 UTC

JavaScript 中的正则表达式

  • 1

下午好!我有一个这样的正则表达式:

/((^|[\s\.\,\;])(text)($|[\s\.\,\;])|(^|[\s\.\,\;])(textf)($|[\s\.\,\;])|(^|[\s\.\,\;])(texts)($|[\s\.\,\;])|(^|[\s\.\,\;])(textt)($|[\s\.\,\;]))/gi

它由几乎相同的形式块组成(^|[\s\.\,\;])(text)($|[\s\.\,\;])

它们仅在搜索词的形式上有所不同。定期搜索各种变体(text、textf、texts、textt)中所有出现的单词 text。

这是我的使用方法:

'textf  some words texts another words. Textt bla-bla-bla'.replace(/((^|[\s\.\,\;])(textf)($|[\s\.\,\;])|(^|[\s\.\,\;])(texts)($|[\s\.\,\;])|(^|[\s\.\,\;])(textt)($|[\s\.\,\;]))/gi,
function() {
    console.log('"' + arguments[0] + '"');
    return '<a>' + arguments[0] + '</a>';    
})

console.log(arguments[90])

输出这个:

“
文本” “文本” “文本
”

替换后的行本身如下所示:

<a>textf </a> some words<a> texts </a>another words.<a> Textt </a>bla-bla-bla

也就是说,正如你所看到的,正则表达式找到的匹配还包括带逗号的空格,理论上应该是单词边界,不参与替换。显然,我以某种方式错误地编译了正则表达式。我希望文本像这样结束:

<a>textf</a> some words<a>texts</a> another words.<a>Textt</a> bla-bla-bla

请告诉我如何更改正则表达式以实现此目的?

javascript
  • 3 个回答
  • 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