小编fil*_*lur的帖子

传递BinaryExpression作为参数

public static Expression<Func<T, bool>> OrElse<T>(this
                            Expression<Func<T, bool>> expr1, Expression<Func<T, bool>> expr2)
{
    ParameterExpression parameter = Expression.Parameter(typeof(T));

    ReplaceExpressionVisitor leftVisitor = 
                                new ReplaceExpressionVisitor(expr1.Parameters[0], parameter);
    Expression left = leftVisitor.Visit(expr1.Body);

    ReplaceExpressionVisitor rightVisitor = 
                                new ReplaceExpressionVisitor(expr2.Parameters[0], parameter);
    Expression right = rightVisitor.Visit(expr2.Body);

    return Expression.Lambda<Func<T, bool>>(Expression.OrElse(left, right), parameter);
}
Run Code Online (Sandbox Code Playgroud)

因为我有另一种方法,唯一的区别是return语句中的表达式,如何Expression.OrElse作为参数传递给方法(我的其他方法使用AndAlso)?

由于方法接近相同,我希望将一个表达式作为参数传递给一个常用方法.

我尝试过BinaryExpression没有成功.

c#

6
推荐指数
1
解决办法
439
查看次数

使用 Hilt 将类注入到视图组件中

我有一个自定义 WebView,我将其添加到我的布局 xml 中:

<my.company.ui.ExtendedWebView />
Run Code Online (Sandbox Code Playgroud)

它扩展了原生 WebView:

class ExtendedWebView @JvmOverloads constructor(context: Context, 
    attrs: AttributeSet? = null,  defStyle: Int = 0) 
    : WebView(context, attrs, defStyle) {
// ...
}
Run Code Online (Sandbox Code Playgroud)

如何使用 Hilt 将@Singelton类注入到上面的类中?财产注入?我应该如何注释该类?

android dagger-2 dagger-hilt

5
推荐指数
1
解决办法
6960
查看次数

rowTads row.add到特定索引

我正在替换这样的行项:

var $targetRow = $(entity.row),
    dataTable = $targetRow.closest('table.dataTable').DataTable();

dataTable.row($targetRow).remove();

dataTable.row.add({ foo: 1 }).draw();
Run Code Online (Sandbox Code Playgroud)

我在rowCreated回调绑定到表的逻辑中,因此我重新创建行来使用它.这很好用.但row.add始终在列表中最后添加重新生成的行.有没有办法将其插入特定索引?

javascript jquery datatables

4
推荐指数
2
解决办法
2万
查看次数

将 IEnumerable&lt;T&gt; 转换为运行时类型

如何实现类似于listOfBaseItems.Cast<Child>()使用在运行时定义的类型的东西?例如

var t = typeof(Child); // the type would be a method argument in my case
var desiredType = typeof(List<>).MakeGenericType(t);
var castedList = Convert.ChangeType(listOfBaseItems, desiredType);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外,项目没有实现IConvertible。我错过了什么?

c#

3
推荐指数
1
解决办法
1252
查看次数

组日期与小时范围相同

假设我有以下日期:

"2017-11-06 15:29", 
"2017-11-06 15:30", 
"2017-11-06 15:51", 
"2017-11-06 16:30", 
"2017-11-06 16:31"
Run Code Online (Sandbox Code Playgroud)

我希望将它们分组为60分钟,相对于第一项:

0: ["2017-11-06 15:29", "2017-11-06 15:30", "2017-11-06 15:51"]
1: ["2017-11-06 16:30", "2017-11-06 16:31"]
Run Code Online (Sandbox Code Playgroud)

我尝试dates.GroupWhile((previous, current) => previous.AddMinutes(60) >= current)了分组连续日期,但它们最终都在同一组中.

c#

3
推荐指数
1
解决办法
90
查看次数

嵌套对象上的 EqualityComparer

我想比较两个嵌套对象列表。如果父对象Id不同和/或任何子对象Id或Baz属性不同,我想认为它们已更改。

我已经实现了我自己的版本Equals和GetHashCode以下版本,但尽管使用了我自己的 equalcomparer,Except()仍然会产生结果,而我希望对象是相等的。

var foo1 = new Foo
{
    Id = 1,
    Bars = new List<Bar>
    {
        new Bar
        {
            Id = 1,
            Baz = 1.5
        },
        new Bar
        {
            Id = 1,
            Baz = 1.5
        }
    }
};

var foo2 = new Foo
{
    Id = 1,
    Bars = new List<Bar>
    {
        new Bar
        {
            Id = 1,
            Baz = 1.5
        },
        new Bar
        {
            Id = …
Run Code Online (Sandbox Code Playgroud)

c#

2
推荐指数
1
解决办法
1050
查看次数

多级web.config转换

有没有办法在多个级别上应用web.config转换?例如:

web.config
 - web.release.config
   - web.prod1.config
   - web.prod2.config
Run Code Online (Sandbox Code Playgroud)

在定位时prod1,我想进行3路合并web.config < web.release.config < web.prod1.config.这可能吗?

c# asp.net web-config

1
推荐指数
1
解决办法
284
查看次数