小编Fel*_*ano的帖子

检查类型是否为Nullable的正确方法

为了检查a Type(propertyType)是否可以为空,我正在使用:

bool isNullable =  "Nullable`1".Equals(propertyType.Name)
Run Code Online (Sandbox Code Playgroud)

有没有办法避免使用魔法字符串?

c# generics nullable

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

缺少packages.config文件

我正在尝试使用VS2017 RC中的.NET内核做一些事情,但我注意到缺少packages.config,因为它们默认定义项目文件中的依赖项.但是我的配置如下所示: 在此输入图像描述 显然它应该使用该文件.显然它不尊重这种配置.此外,是否有一些原因我们应该更喜欢项目文件中的依赖?

.net-core visual-studio-2017

20
推荐指数
2
解决办法
9549
查看次数

如何摆脱_WIN32_WINNT未定义的警告?

_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
Run Code Online (Sandbox Code Playgroud)

在编译期间,此错误不断弹出.它似乎不会影响编译,但我应该如何摆脱它?我无视任何冒险的事吗?

c++ visual-c++

16
推荐指数
3
解决办法
3万
查看次数

WPF DrawingContext似乎忽略了SnapToDevicePixels

我通过直接调用绘制的图表DrawLine上DrawingContext.由于我想避免任何抗锯齿功能,我试图将SnapToDevicePixels = true放在父UIElement上,但我仍然有反别名:

在此输入图像描述

该项目是一个不是为WPF4编写的旧操作系统项目,但是我将其重新定位到Framework4,这也是一个问题吗?

wpf graphics antialiasing

14
推荐指数
2
解决办法
3549
查看次数

更改LambdaExpression中的参数名称仅用于显示

假设我有一个这样的表达式:

Expression<Predicate<T>> exp
Run Code Online (Sandbox Code Playgroud)

如果我分配以下表达式:

a => a.First() != 0
Run Code Online (Sandbox Code Playgroud)

然后我打电话给exp.ToString()我将获得我通过的表达式,这是非常好的,但是,假设我们想要用其他东西更改我们用于'a'的名称,我们该怎么办?字符串替换不会在所有情况下都有效(它在上面的示例中起作用,但是如果参数被称为'i',例如怎么办?)是否可以只使用参数名称替换,运行时间而不影响表达式语义?

更新 @PhilKlein工作得很好,但需要框架4.但是如果我们需要定位框架3.5,我们可以使用Matt Warren的ExpressionVisitor类,只需修改从protected到public的Visit方法.

c# lambda

13
推荐指数
2
解决办法
3451
查看次数

交叉连接,无重复组合

我知道这个问题与这个问题非常相似: 对称交叉连接 也是这个问题: 在sql中交叉连接的组合(不是排列)

但是,如果我们有两个不同的表,比如说A和B:

select A.id,B.id from A cross join B
Run Code Online (Sandbox Code Playgroud)

而且我想考虑一对(a,b)等于(b,a)?

sql sql-server-2005

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

Lambda表达式,多线程中的外部变量

让我们拿这个代码:

public void Hit(int npage)
        {
            bool fetch = false;
            lock (pagesHit)
            {
                if (!pagesHit.Contains(npage))
                {
                    pagesHit.Add(npage);
                    fetch = true;
                }
            }
            if (fetch)
            {
                pageFiller.Completed += (s, e) =>
                    {
                        lock (pagesHit)
                        {
                            pagesHit.Remove(npage);
                        }
                    };
            }

        }
Run Code Online (Sandbox Code Playgroud)

可以从不同的线程调用此函数.显然,目标是避免获取已经安排获取的页面.填充对象公开通过lambda表达式订阅的事件.我的问题是:我们可以说在多线程场景中正确处理参数npage吗?更好:每个事件订阅都会收到自己的npage参数,或者看到的最后一个npage是否会传播到所有事件?

c# lambda multithreading

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

用dapper代替完全成熟的OR/M.

Dapper micro OR/M给我留下了深刻的印象,我真的很想将它作为一些完全成熟的OR/M的并肩伴侣使用它,而且我将逐渐取而代之.无论如何,如果有一些策略要从db反序列化层次结构,我也没想到:例如,记录集行的返回对象将取决于一个字段(例如NH中所谓的'discriminator').此外,层次结构可以通过连接拆分更多表,因此表示该行的类型将取决于另一个表中记录的存在.具有由上述两种策略的混合物表示的层次结构将是例如NH不支持但是存在于"关系生活"中的事物.所以问题:

  • Dapper会处理这种情况吗?
  • 这种情况是否会影响Dapper在绩效方面的努力?

另一个话题是缓存.用于查询的Dapper缓存有点过于激进,拥有一些"类似上下文的会话"并且每个会话都有一个查询缓存会不会更好,或者这会再次冒犯主要的Dapper动机?

c# orm dapper

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

从AWS API Gateway导出api定义

我正在AWS API Gateway中创建一个完整的API.由于我正在使用图形控制台,因为我处于学习阶段,我需要一些方法以编程方式或通过CLI创建相同的API.是否有一些设施可以以某种方式导出当前的API集我可以重现相同的结构?

amazon-web-services aws-api-gateway

6
推荐指数
4
解决办法
4125
查看次数

在不使用 spark 提交的情况下部署 spark 驱动程序应用程序

假设我们有一个像这样编写的火花驱动程序:

public class SimpleApp {
  public static void main(String[] args) {
    String logFile = "YOUR_SPARK_HOME/README.md"; // Should be some file on your system
    SparkConf conf = new SparkConf().setAppName("Simple Application");
    JavaSparkContext sc = new JavaSparkContext(conf);
    JavaRDD<String> logData = sc.textFile(logFile).cache();

    long numAs = logData.filter(new Function<String, Boolean>() {
      public Boolean call(String s) { return s.contains("a"); }
    }).count();

    long numBs = logData.filter(new Function<String, Boolean>() {
      public Boolean call(String s) { return s.contains("b"); }
    }).count();

    System.out.println("Lines with a: " + numAs + ", lines with …
Run Code Online (Sandbox Code Playgroud)

java apache-spark

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