小编Mar*_*per的帖子

Typescript接口默认值

我在TypeScript中有以下界面:

interface IX {
    a: string,
    b: any,
    c: AnotherType
}
Run Code Online (Sandbox Code Playgroud)

我声明了该类型的变量,并初始化了所有属性

let x: IX = {
    a: 'abc',
    b: null,
    c: null
}
Run Code Online (Sandbox Code Playgroud)

然后我稍后在init函数中为它们分配实数值

x.a = 'xyz'
x.b = 123
x.c = new AnotherType()
Run Code Online (Sandbox Code Playgroud)

但是,我不希望在声明对象时,必须为每个属性指定一堆默认的空值,以便稍后将它们设置为实际值.我可以告诉界面默认我不提供给null的属性吗?什么会让我这样做:

let x: IX = {
    a: 'abc'
}
Run Code Online (Sandbox Code Playgroud)

没有得到编译器错误.现在它告诉我

TS2322:类型"{}"不能分配给"IX"类型.类型"{}"中缺少属性"b".

typescript

91
推荐指数
8
解决办法
14万
查看次数

重命名Azure App Service计划

是否可以重命名应用服务计划

我已经尝试过旧门户网站和新门户网站,但找不到任何重命名选项.

azure azure-web-sites

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

如何从PowerShell调用SQL Server存储过程?

我有一个大的CSV文件,我想为每一行执行存储过程.

从PowerShell执行存储过程的最佳方法是什么?

sql-server powershell

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

动态返回类型

我一直在使用Dapper.net一段时间,它是一个非常好的ORM映射器,它与.Net动态类型配合得很好.

但我注意到,当Dapper从数据库中检索数据时,它将返回Dapper行类型.

有什么方法可以让它以任何其他类型返回DapperRow吗?

.net c# orm dapper

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

Linq加入iquery,如何使用defaultifempty

我有一个linq连接查询wriiten,我想取值,如果其中一个是空的...

码:

var Details = 

UnitOfWork.FlightDetails
          .Query()
          .Join
          (
              PassengersDetails,
              x => x.Flightno,
              y => y.FlightNo,
              (x, y) => new
              {
                  y.PassengerId,
                  y.classType,
                  x.Flightno,
                  x.FlightName,
              }
          );
Run Code Online (Sandbox Code Playgroud)

我想用...

"Above query".DefaultIfEmpty
(
    new 
    {
        y.PassengerId,
        y.classType,
        string.Empty,
        string.Empty
    }
);
Run Code Online (Sandbox Code Playgroud)

"FlightDetails"是类上的Idatarepository类型,"PassengerDetails"是可查询的局部变量结果.如何获得乘客ID和Classtype的结果,并且整体结果中不包含flightno和flightname.

c# linq asp.net-mvc-4

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

这个对象初始化模式叫什么?

我正在审查一些我不认识的对象初始化模式的代码 - 有人能告诉我这个模式被称为什么(以及在哪里找到使用文档)?

obj.myType = (myVar = new MyType());
Run Code Online (Sandbox Code Playgroud)

如果重要,具体用例如下;

protected MyType myVar;
protected readonly MyComplexType myComplexType;

protected void Page_Init(object sender, EventArgs e)) {
    ...
    myComplexType.myType = (myVar = new MyType());
    ...
}
Run Code Online (Sandbox Code Playgroud)

c#

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

解决VSTS/VSO中的任务(敏捷模板)

我使用Agile模板在VSTS(Visual Studio Online)中创建了一个新项目.

我创建了一个sprint,并添加了一个用户故事.在用户故事中,我有一些任务.

在冲刺看板上有4列;

  • 活性
  • 解决
  • 关闭

我可以将任务从New移动到Active,但不能将它们从Active移动到Resolved.

我该怎么做呢?

tfs kanban tfs-process-template tfs-2015 azure-devops

18
推荐指数
2
解决办法
4299
查看次数

在InitializeComponent期间WPF获取控件空引用

所以我InitializeComponent在Window的构造函数中的方法调用正在运行XML并添加控件并将它们插入到它们的事件中.

因此,当其中一个控件的属性发生更改时,它会调用订阅该事件的Method.该方法引用尚未构建的控件.

为什么这会按此顺序发生?它在WinForms中有效,因为在创建所有控件之后,事件才会被激活.有没有办法在WPF中强制执行此操作?

我看到的其他解决方案是

  • 我需要在初始化后订阅事件.

  • 每当我处理一个控件时,我都需要检查null.

c# wpf

15
推荐指数
3
解决办法
8911
查看次数

如何从C#中的文件夹中获取第一个文件名

我需要从文件夹中获取第一个文件名.我怎样才能在C#中获得这个?

下面的代码返回所有文件名:

DirectoryInfo di = new DirectoryInfo(imgfolderPath);
foreach (FileInfo fi in di.GetFiles())
{
    if (fi.Name != "." && fi.Name != ".." && fi.Name != "Thumbs.db")
    {
        string fileName = fi.Name;
        string fullFileName = fileName.Substring(0, fileName.Length - 4);

         MessageBox.Show(fullFileName);
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要第一个文件名.

c#

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

BrowserStack:意外错误.需要授权

我有使用两个简单的测试RemoteWebDriverChromeOptionsEdgeOptions.这两个测试都使用通用代码来设置功能,包括功能browserstack.userbrowserstack.key功能.

因为我使用DriverOptions(而不是DesiredCapabilities)我曾经使用AddAdditionalCapability(...)过这些功能添加到驱动程序.

边缘测试正在运行,但Chrome测试在测试开始之前就失败了;

OpenQA.Selenium.WebDriverException:意外错误.需要授权

DesiredCapabalities在将我的Selenium驱动程序升级到v3.14(DesiredCapabalities已经被删除)之前,这些测试以前一直在使用.


更新

我降级到Selenium.WebDriver v3.4.

传递(EdgeOptions)和失败(使用ChromeOptions)的代码示例:

[TestClass]
public class Simple_GridTest_Chrome
{
    private static IWebDriver driver;

    private string _bsUsername = "<username>";
    private string _bsAccessKey = "<myaccesskey>";

    private string _bsProjectName = "TestProject";
    private string _bsBuildName = "Build-0.0.1";

    private void SetOptions(bool useEdge = false)
    {
        DriverOptions options;

        if (useEdge)
        {
            options = new EdgeOptions(); // this works OK
        } else
        { …
Run Code Online (Sandbox Code Playgroud)

c# selenium browserstack remotewebdriver desiredcapabilities

12
推荐指数
2
解决办法
1339
查看次数