小编wul*_*pro的帖子

手动调用事件处理程序

我有一个事件处理程序方法,它直接作为标准方法调用.也就是说,它不仅在我的事件发生时调用,而且还作为私有方法调用.

UtilStk.StkRoot.OnStkObjectAdded += new 
    IAgStkObjectRootEvents_OnStkObjectAddedEventHandler(TallyScenarioObjects);

private void TallyScenarioObjects(object sender)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

在直接调用此处理程序时是否适合传递null参数?

TallyScenarioObjects(null);
Run Code Online (Sandbox Code Playgroud)

c# event-handling

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

推理后面必须指定L为long,F,D为float,double

这里有一些相关的问题.

根据标题,如果我们将变量类型指定为long或float,double,为什么需要它?编译器是否在编译时评估变量类型?

Java认为所有积分文字都是int- 这是为了减少无意中内存浪费的打击?并且所有浮点文字都是double- 以确保最高精度?

java variables primitive-types

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

这些OSGi命令真正做了什么?

使用Felix/Equinox,以下内容如何做?

osgi:install
osgi:refresh
osgi:resolve
osgi:restart
osgi:update
Run Code Online (Sandbox Code Playgroud)

某处有状态机图或更简洁的文档吗?

osgi equinox apache-felix

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

将C#控制台应用程序作为Windows服务运行

我有一个基本的C#控制台应用程序,我想作为Windows服务运行.

我使用了创建Windows服务sc create.这很好,我可以看到我的服务services.msc.当我尝试启动此服务时,我收到以下错误:

无法在本地计算机上启动PROJECT服务.错误1053:服务未及时响应启动或控制请求

我读到这可能是由于服务代码执行时间超过30000毫秒.因此,我删除了大部分代码,以便几乎没有任何内容被执行..但同样的错误仍然存​​在.

我在这个项目中使用.NET 3.5.

什么会导致这个?

.net c# windows-services console-application c#-4.0

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

线程连接c ++行为

如果我正在同步线程join(),考虑到加入调用的顺序,为什么我有时会看到t1after 的输出t2

#include <thread>

void callFromThread(int id) {
    int i = 1000;
    while(i != 0) {
        printf("%s %d\n", "hi from thread", id);
        i--;
    }
}

int main(void) {
    std::thread t1 (callFromThread, 1);
    std::thread t2 (callFromThread, 2);

    t1.join();
    t2.join();

    printf("%s\n", "bye from main!");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我在连接调用之前的开头有一些交错,接着是所有剩余的t1输出,接着是剩余的t2输出,我可以理解行为.但是,相反,我看到所有t2然后都是t1,反之亦然.

c++ multithreading

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

BindingList不更新绑定的ListBox

我有一个ListBox必然的BindingList.在BindingList第三方应用程序引发事件时构建.我可以看到BindingList正确绑定...但没有任何进入ListBox.我使用了与我自己的一些自定义类型完全相同的逻辑,它通常工作得很好.

表格类

private Facade.ControlFacade _controlFacade;        
public UavControlForm()
{
    InitializeComponent();  
    _controlFacade = new UavController.Facade.ControlFacade();      
    UpdateEntityListBox();
}
private void UpdateEntityListBox()
{
    lsbEntities.DataSource = _controlFacade.GetEntityTally();
    lsbEntities.DisplayMember = "InstanceName";
}
Run Code Online (Sandbox Code Playgroud)

门面课

private Scenario _scenario;
public ControlFacade()
{
    _scenario = new Scenario();
}
public BindingList<AgStkObject> GetEntityTally()
{
    BindingList<AgStkObject> entityTally = _scenario.EntityTally;
    return entityTally;
}
Run Code Online (Sandbox Code Playgroud)

场景类

private static BindingList<IAgStkObject> _entityTally = new BindingList<AgStkObject>();
public Scenario()
{
    if (UtilStk.CheckThatStkIsAvailable())
    {
        UtilStk.StkRoot.OnStkObjectAdded += new IAgStkObjectRootEvents_OnStkObjectAddedEventHandler(TallyScenarioObjects);
        UtilStk.StkRoot.OnStkObjectDeleted += new …
Run Code Online (Sandbox Code Playgroud)

c# data-binding winforms

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

INotifyPropertyChanged和线程

我有一个基类实现INotifyPropertyChanged:

protected void OnNotifyChanged(string pName)
{
    if (PropertyChanged != null)
    {
        PropertyChanged(this, new PropertyChangedEventArgs(pName));
    }
}

public event PropertyChangedEventHandler PropertyChanged;
Run Code Online (Sandbox Code Playgroud)

我有一个派生类,其属性Latitude如下:

private double latitude;

public double Latitude
{
    get { return latitude; }
    set { latitude = value; OnNotifyChanged("Latitude"); }
}
Run Code Online (Sandbox Code Playgroud)

我的派生类也有一个Fly操作方法Latitude.

我还有一个Form,其TextBox绑定到Latitude我的派生类:

txtLat.DataBindings.Clear();    
txtLat.DataBindings.Add("Text", bindSrc, "Latitude");
Run Code Online (Sandbox Code Playgroud)

一个线程用于启动,Fly如下所示:

Thread tFly = new Thread(f.Fly);
tFly.IsBackground = true;
tFly.Start();
Run Code Online (Sandbox Code Playgroud)

Latitude改变,一个异常被抛出:

DataBinding cannot find a row in the list …

c# binding multithreading winforms

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

如何快速构建Java代码原型?

解释语言很好,我可以在深入研究生产级代码之前编写一些快速的原型代码(即使用交互式shell)进行探索.

Java的最佳方法是什么?目前我正在使用Eclipse创建Maven项目,并使用JUnit在我的测试基础架构中探索...但这不太理想.

java prototyping

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

使用Jersey和@ApplicationPath批注加载资源

我正在尝试在没有web.xml的情况下将基本的泽西式restful服务部署到Tomcat7:

 @WebServlet(loadOnStartup=1)
 @ApplicationPath("resources")
 @Path("/mypath/{name}")
 public class MyResource extends Application {

 @Override
 public Set<Class<?>> getClasses() {
     Set<Class<?>> s = new HashSet<Class<?>>();
     s.add(MyResource.class);
     return s;
 }

 @GET
 @Consumes("text/plain")
 @Produces("text/plain")
 public String getWelcome(@PathParam(value = "name") String name) {
     return "Welcome to jax-rs " + name;
 }
}
Run Code Online (Sandbox Code Playgroud)

尝试访问时,我遇到了404:/ myapplication/resources/mypath/sample.

我可以使用@WebServlet注释部署servlet ,因此这与将没有web.xml的servlet加载到Tomcat7中无关.

通过阅读Jersey的文档,运行时应扫描扩展Application和执行的类getClasses(),加载所有根资源.

java tomcat jax-rs jersey servlet-3.0

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

composeWith子生成器未按预期进行嘲笑?

我正在尝试测试生成器,该生成器使用composeWith()依赖于子生成器generator-express

this.composeWith(require.resolve('generator-express/app'), {dirname: this.props.app_name, createDirectory: 'n'});
Run Code Online (Sandbox Code Playgroud)

这是我对模拟虚拟生成器的测试的摘录:

var deps = [
      [helpers.createDummyGenerator(), require.resolve('generator-express/app')]
];

describe('generator-cesium/app Test', () => {
    beforeEach(() => {
        return helpers.run(path.join(__dirname, '../generators/app'))
            .inDir(path.join(__dirname, 'tmp'))
            .withPrompts({
                viewerContext: '/',  // eslint-disable-line camelcase
                appName: 'app'       // eslint-disable-line camelcase
            })
            .withGenerators(deps)
    });
...
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到以下错误:

Error [ERR_UNHANDLED_ERROR]: Unhandled error. (TypeError: Cannot read property 'match' of undefined)

      at Immediate.setImmediate (node_modules/generator-express/node_modules/yeoman-generator/lib/index.js:406:18)
Run Code Online (Sandbox Code Playgroud)

该错误表明子生成器仍在执行中,使我相信该模拟程序实际上不起作用?

javascript node.js yeoman yeoman-generator

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