小编Jas*_*aat的帖子

Task.ContinueWith方法需要任务参数吗?

我有一个有两个方法的类,Load()和Process().我希望能够将这些单独作为后台任务或按顺序运行.我喜欢ContinueWith()语法,但我无法让它工作.我必须在我继续的方法上获取一个Task参数,并且在初始方法上不能有Task参数.

我想在没有lambda表达式的情况下做到这一点,但我是不是使用它们,强制在其中一个方法上创建任务参数,或者创建第三个方法LoadAndProcess()?

void Run()
{
    // doesn't work, but I'd like to do it
    //Task.Factory.StartNew(MethodNoArguments).ContinueWith(MethodNoArguments);

    Console.WriteLine("ContinueWith");
    Task.Factory.StartNew(MethodNoArguments).ContinueWith(MethodWithTaskArgument).Wait();

    Console.WriteLine("Lambda");
    Task.Factory.StartNew(() => { MethodNoArguments(); MethodNoArguments(); }).Wait();

    Console.WriteLine("ContinueWith Lambda");
    Task.Factory.StartNew(MethodNoArguments).ContinueWith(x => { 
            MethodNoArguments(); 
        }).Wait();
}

void MethodNoArguments()
{
    Console.WriteLine("MethodNoArguments()");
}

void MethodWithTaskArgument(Task t = null)
{
    Console.WriteLine("MethodWithTaskArgument()");
}
Run Code Online (Sandbox Code Playgroud)

c# multitasking task-parallel-library

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

在 Safari 中加载源映射和调试?

我们遇到了仅在 Safari 浏览器上发生的错误,所以我清理了 Macbook 上的 OSX 分区并尝试调试它,但我无法找到如何查看原始源代码并设置断点。

我的主文件是main.d7f60b0631c7822cabf3.bundle.js,文件的最后一行是这个,它指向确实存在的源映射文件,因为我可以输入 url 并获取它,它在 Firefox 和 chrome 中工作:

//# sourceMappingURL=main.d7f60b0631c7822cabf3.bundle.js.map
Run Code Online (Sandbox Code Playgroud)

在 Firefox 中,我可以转到开发工具中的调试器选项卡,在源下我可以看到我的原始源文件webpack:///src/app/app.component.ts,我可以打开它并设置断点。

在 Chrome 开发工具中,我转到“源”选项卡并执行相同的操作,将树导航到webpack://- .- src- app- app.component.ts

有没有办法在 Safari 中实现同样的目标?从内存中,因为我在 Windows 上写这个,我在调试选项卡中看不到任何文件,只是一个断点列表。在资源选项卡中,我可以看到包和一个箭头,看起来我应该能够展开它,但是点击那个箭头确实把它从右转到下,就像它被展开但没有显示任何东西。像jquery这样的其他文件在展开时似乎在它们下面有原始源......

javascript safari source-maps typescript webpack

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

平铺算法/数据结构?

我正在考虑创建一个让我玩或解决slitherlink难题的程序,比如krazydad.com.它由4,5,6,7和8面的瓷砖组成.除了七面砖之外的所有瓷砖似乎都具有相同长度的侧面,其中两侧在两个七面砖之间(因此将五面砖连接到四面砖)具有大约正常长度的70%的边.正如您在下图中所看到的,八边形被交替的五边形和六边形包围.它们通过六边形的远侧连接到其他人.连接到五边形的尖端的是较小的线,连接到连接到其他组的方块.然后在正方形周围形成具有两个短边的七边形图形.我认为外边缘是通过省略距离中心太远的瓷砖来定义的.

在此输入图像描述

对于数据结构,我认为我需要一个连接所有节点的图形.我可以让用户单击在最近的链接上放置一个实线,我可以检查循环或太多行很容易进入节点.我还需要创建切片并将线条关联到它们,内线被分配给两个切片,但被视为一条线.

至于设置,我正在考虑手动计算点并定义重复图块的最小集合(1 8,4 5,4 6,4 7和1 4),然后将它们放在彼此旁边.放置时,我会检查我正在放置的每个关闭点,如果找到则合并它们.然后我需要检查重复的行并合并它们.

有没有更简单或更简洁的方法来A)生成平铺或B)在进行平铺时合并节点和链接?

c# algorithm

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

"无法连接到Web服务器'IIS Express'"

.NET CORE 1.1应用程序,通常在localhost:5000上运行并运行.有时我开始得到标题错误,然后我必须重新启动我的机器.我想我现在可能已经使用端口5000对Docker进行了一些跟踪.所以我停止了Docker的想法,就是这样.但我一直得到同样的错误.资源监视器显示pid 4'System'正在使用端口5000.我已经杀死了IIS进程,端口消失了.然后当我再次运行我的应用程序时,我不断收到同样的错误.我可以重新启动VS(2015年和2017年)并使用不同的端口,但我一直收到错误,直到我重新启动.

有没有办法在没有重启的情况下从中恢复?

iis-express visual-studio-2015 visual-studio-2017

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

使用dotnet core 1.1和xunit单元测试显示输出?

多年来,我创建了单元测试,这是在Visual Studio中试用代码的一种非常简单的方法.通过创建Visual C#/.NET Core/Unit Test Project (.NET Core)项目,然后添加xunitxunit.runner.visualstudionuget包,我能够在VS 2017中使用相同类型的单元测试来使用.NET核1.1 .

唯一的问题是,在运行测试时我不再看到"输出"链接,以查看我写入控制台的内容.我可以Trace.WriteLineSystem.Diagnostics包中使用,并在OutputVisual Studio 的窗口中查看输出,但是看到与每个测试运行相关联的输出更容易,更有用.

有没有办法让我的设置显示或我可以使用不同的设置?

编辑

@伊利亚的解决方案工作,但我必须重新编写了所有的考试,去除[TestClass]和更换[TestMethod][Fact],我不能再右键单击并运行一个测试方法,这样做似乎运行类中的所有测试方法...

c# unit-testing xunit .net-core visual-studio-2017

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

UICollectionViewController如何调整Cell的大小?

通过搜索如何调整单元格(宽度和高度)的大小来解决我的问题UICollectionViewController.有一个UITableViewController方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

但是UICollectionViewController我无法找到以编程方式执行此操作的方法.

我有一个,UICollectionViewCell但它显然不存在.

如何更改单元格中的单元格大小UICollectionViewController

iphone objective-c ios uicollectionview uicollectionviewcell

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

Git分支和切换回主人的领先优势?

我的代码工作得很好,并创建了一个分支,以便在我的工作计算机上进行一些重大更改git checkout -b messaging.我提交了部分完成的工作并将其推送到我的远程存储库git push origin messaging.现在我回家了,我做了一个git pull origin messaging并且在那个分支上,但是我想切换回主人,但是git checkout master给了我以下信息:

$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
Run Code Online (Sandbox Code Playgroud)

我修改messaging分支的所有文件都在那里. git status告诉我我在分支机构master,但我的分支在origin/master1提交之前.我发现我可以通过两种方式找到真正的主人:

git checkout origin/master
git checkout master~1
Run Code Online (Sandbox Code Playgroud)

但是我很困惑为什么会发生这种情况,我想确保我的更改master不会影响messaging分支,反之亦然.我想做的就是让origin/master我的本地人master也留messaging在它的独立分支.我是否做错了什么来master指出messaging我家用电脑上的提交?在这一点上,我希望有两个完全孤立的分支.

考虑更多,当我这样做时,git pull origin messaging我在我的master分支上,这实际上是否将messaging分支合并到我的本地 …

git branching-and-merging

3
推荐指数
2
解决办法
1131
查看次数

创建共享模块后,angular-cli测试失败

我只是在其中添加了一个包含SharedComponent的共享模块,并在主app组件中使用了该组件:

<acs-shared></acs-shared>
Run Code Online (Sandbox Code Playgroud)

所有组件都显示'Hello,world!' 在组件上使用属性:

<h1>Hello, {{name}}!</h1>
Run Code Online (Sandbox Code Playgroud)

在运行项目时npm start,这一切都正常,但现在运行npm test失败,也是如此$(npm bin)/karma start ./karma.conf.js.第一个失败是它无法创建组件,因为它无法识别'acs-shared'元素.是否有一些特殊的东西需要用来测试使用其他组件或模块的组件?

Chrome 54.0.2840 (Windows 10 0.0.0) App: AngularCliStarter should create the app FAILED
    'acs-shared' is not a known element:
Run Code Online (Sandbox Code Playgroud)

该项目可在github上找到:https://github.com/JasonGoemaat/angular-cli-starter

karma-jasmine angular-cli angular

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

链式箭头函数在 redux 中是什么意思?

看看现实世界的例子,我看到这个设置了 api 中间件:

export default store => next => action => {
  const callAPI = action[CALL_API]
  if (typeof callAPI === 'undefined') {
    return next(action)
  }
Run Code Online (Sandbox Code Playgroud)

这里到底发生了什么?我看到 configureStore 正在导入任何内容并将其从 redux 传递给 applyMiddleware,但是这种语句在 js 中意味着什么?

我假设它正在导出一个匿名函数,该函数返回一个返回函数的函数?刚试过这个:

var a = b => c => d => {
    console.log('a:', a);
    console.log('b:', b);
    console.log('c:', c);
    console.log('d:', d);
};

a(5)(6)(7);

// outputs b: 5, c: 6, and d: 7
Run Code Online (Sandbox Code Playgroud)

redux

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

使用AngularJS和ng-animate在列表中移动项目的好方法是什么?

我希望能够重新排序列表,现在我在每个项目上都有按钮,可以在列表中上下移动它们.我想用它ng-animate来使项目顺利移动,但我只能找到-move动画,而这显然只适用于两个切换位置的顶部元素.我无法让它看起来正确.这是我到目前为止所做的:小提琴

.person-move {
    transition: all 0.5s;
    position: relative;
    height: 0;
}

.person-move.person-move-active {
    height: 26px;
    overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

我想我不确定的目的是什么-move.我正在交换两个人的位置,但它似乎只影响最高的一个.我希望它看起来像是被交换了.在示例小提琴中有一个复选框来创建新对象而不是将现有对象移动到fire -enter和-leave,也许我可以将这两种方法结合起来:

  1. 使用-move用于顶部人(谁使用为低于),向上动画相对位置
  2. -enter通过创建一个新对象,动画相对位置来使用底层人物

有更简单或更好的方法吗?

其他想法:像jquery-ui的拖放会很好,但我不想要包含它并找出我是否可以使用AngularJS.

angularjs ng-animate

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

使用来自react-redux的connect()使得来自react-router的NavLinks不起作用?

我正在学习redux并创建了一个Navbar可以处理用户操作的组件.它用于NavLink将"活动"类添加到我的链接,以便我可以设置活动链接的样式.当我浏览我的网站时,活动类不会移动,直到我发送动作做出反应(登录/注销是我到目前为止所做的全部工作).如果我取出连接的东西并直接使用类组件,那么NavLinks工作正常添加日志componentDidUpdate表明在使用连接时未调用它.

我错过了什么吗?我看到有反应路由器还原,但我正在建立一个有趣的网站,以了解整个交易,我只是开始得到redux,我不想引入中间件的概念,我绝对不想要使用,combineReducers因为在这一点上它只是意味着拥有路由器属性并在州内的"主"之类的东西推送其他所有东西.

我正在考虑使用上下文并将整个redux状态放在上面......

更新: - 我添加了react-router-redux,如果我将新的'router'添加到我的映射道具,我只能让它更新路由更改.

我有一个NavbarC带有这样的render方法的组件类:

render() {
  let { props } = this;

  return <header className="navbar">
    <nav>
      <h1><NavLink to="/" exact>Home</NavLink></h1>
      <NavLink to="/friends">Friends</NavLink>
    </nav>
    <div></div>
    <div className="center-flex-row">
      { props.busy ? <section className="nav-right"><p>working<span className="spacer"></span><span className="fa fa-spin fa-spinner"></span></p></section> :
        props.user ?
          <Logout onSignOutClick={props.onSignOutClick} user={props.user} /> :
          <Login onSignInClick={props.onSignInClick}/>
      }
    </div>
  </header>
}
Run Code Online (Sandbox Code Playgroud)

我使用connect():

const mapStateToProps = (state) => {
  return { user: state.auth.user, busy: state.auth.busy …
Run Code Online (Sandbox Code Playgroud)

react-router react-redux

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

为什么我的javascript文件没有加载?

我是JavaScript和AngularJS的新手.我正在构建一个与楼宇管理系统对话的应用程序:它有一个名为"JaceMod"的模块,其中包含一个与BMS联系并从中检索数据的服务.我正在使用Dygraphs为图形数据添加功能,并且我已经创建了一个指令来实例化图形并用数据填充它.

我想把我的Dygraphs指令放在一个名为'dygraphs'的模块中,在一个单独的文件'angular-dygraphs.js'中,所以我可以在以后重复使用它,并要求这个模块作为'JaceMod'的依赖.像这样:

'use strict';
console.log('Loading angular-dygraphs.js');
angular.module('dygraphs', []);

angular.module('dygraphs').directive('mrhDygraph', function ($parse) {
    return {
...etc ...
    };
});
Run Code Online (Sandbox Code Playgroud)

然后是主文件'app.js':

'use strict';
console.log('Loading app.js');

angular.module('JaceMod', ['dygraphs']);

angular.module('JaceMod').factory('JaceData', function ($http, $timeout) {
    var JaceDataService = {};
...etc ...
    return JaceDataService;
});

angular.module('JaceMod').controller('myCtrl', function myCtrl($scope, JaceData) {
    JaceData.initialise($scope);
    JaceData.subscribe($scope);
});
Run Code Online (Sandbox Code Playgroud)

html看起来像这样:

<html lang="en" ng-app="JaceMod">
<head>
    <meta charset="utf-8">
    <title>AngularJACE</title>
    <style type="text/css">
        body {font-family:  Trebuchet MS,Helvetica,Arial,sans-serif; }
    </style>
</head>
<body ng-controller="myCtrl">
    <div mrh-dygraph="graphData"
         mrh-dygraph-options="{xlabel: 'Local Time', legend: 'always',
                              showRangeSelector: true, labels: ['Time', 'Outside'],
                              ylabel: 'Temperature …
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs angularjs-module

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