小编Tar*_*ion的帖子

C#:在哪些类中使用了ICommandExecutor接口?

我在.net中找到了ICommandExecutor接口,但无法找到实现它的类.我知道有一些xaml相关的东西在哪里使用.但是winforms还有什么东西吗?

c# command winforms

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

使用新委托实例取消注册事件

EventHandler a = new EventHandler(control_RegionChanged);
EventHandler b = new EventHandler(control_RegionChanged);

 if (a == b)
 {
     Console.WriteLine("Same!");
 }
 else
 {
     Console.WriteLine(a.GetHashCode() + " " + b.GetHashCode());
 }
Run Code Online (Sandbox Code Playgroud)

这会写入Same!控制台.

control.RegionChanged += new EventHandler(control_RegionChanged);
control.RegionChanged -= new EventHandler(control_RegionChanged);
Run Code Online (Sandbox Code Playgroud)

执行此代码后,是否EventHandler未注册?

c# events

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

替换字符串中的多个字符(生成有效的文件夹名称)

给定一个字符串和一组字符:

string userDir = WindowsIdentity.GetCurrent().Name;
char[] chars Path.GetInvalidPathChars();
Run Code Online (Sandbox Code Playgroud)

如果要替换"userDir"字符串中"chars"中的所有字符,则使用用户名创建有效的目录名称.或者我可以假设每个用户名都是有效的目录吗?

我最好的想法是嵌套两个循环...但我正在寻找一个更短的解决方案.

或者是否有另一种方法来生成有效的目录名称?

c# string replace char

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

是否有一个动态大小但在c ++中没有分配的容器?

我正在为嵌入式约束设备编写C++.

我经常在堆栈或堆上有一些内存,需要一个像vector这样的容器来访问它的一部分.例如,当解析一些20字节的消息时,我希望容器访问字节5到10.

容器需要一个开始指针,结束指针,不能分配也不能释放内存.c ++中有什么东西可以帮助我吗?

vector分配内存,数组需要一个我以前不知道的固定大小.

c++ containers

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

如何在ko.applyBindings()调用后应用组件绑定

有没有办法在ko.applyBindings()调用后应用组件绑定?

关键是,我使用requireJS来加载我的模块/组件异步.那么我如何知道所有绑定都已注册?

演示JS小提琴

ko.applyBindings();

ko.components.register('my-component',
    {
        viewModel: function() {
            this.name = ko.observable('My Name');
        },
        template: '<input type="text" data-bind="value: name"></input>'
    }
);

// Moving it here, it works:
// ko.applyBindings();
Run Code Online (Sandbox Code Playgroud)

amd knockout.js knockout-components

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

使用React与Nashorn抛出"ReferenceError:"控制台"未定义"

我正在使用 "react": "~0.12.2"

以下代码:

@RequestMapping("/")
@ResponseBody
private String home() throws ScriptException, IOException {
    loadReact();
    InputStream jsStream = resourceLoader.getResource("classpath:public/js/server.js").getInputStream();
    engine.eval(new InputStreamReader(jsStream));
    return engine.eval("renderServerside()").toString();
}

private void loadReact() throws ScriptException, IOException {
    InputStream jsStream = resourceLoader.getResource("classpath:public/lib/react/react.js").getInputStream();

    // React expects 'window' or 'global' to be set
    engine.eval("var global = this");
    engine.eval(new InputStreamReader(jsStream));
}
Run Code Online (Sandbox Code Playgroud)

我的server.js看起来像这样:

function renderServerside() {
    var MyComponent = React.createClass({
        render: function () {
            return React.DOM.h1(null, 'Hi, ' + this.props.msg)
        }
    });

    return React.renderComponentToString(MyComponent({msg: 'World!'}));
}
Run Code Online (Sandbox Code Playgroud)

得到这个例外:

javax.script.ScriptException: ReferenceError: "console" is not …
Run Code Online (Sandbox Code Playgroud)

javascript java nashorn reactjs

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

C#Typeresticted委托与模板

.net EventHandler仅限于从EventArgs继承的模板.怎么做的?实现(在vs中进行参考)显示以下代码:

[Serializable]
public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e);
Run Code Online (Sandbox Code Playgroud)

但我认为TEventArgs只是一个名字.如何编写一个类型化的委托,它限制了从MyClass继承的任何东西?

c# templates delegates limit

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

如何在go中获取函数的地址?

是否可以在Go中获取函数引用的地址?

就像是

func myFunction() {
}

// ...

unsafe.Pointer(&myFunction)
Run Code Online (Sandbox Code Playgroud)

只是那是行不通的。我的猜测是不可能的,但是我还没有找到任何证据。

编辑:背景

我的问题的背景来自于处理CGO和C函数指针。这有效:

/*
void go_myFunction();

typedef void (*myFunction_f)();

myFunction_f pMyFunction;
*/
import "C"

//export go_myFunction
func go_myFunction() {
// ...
}

func SetupFp() {
  C.pMyFunction = (*[0]byte)(unsafe.Pointer(C.go_myFunction))
}
Run Code Online (Sandbox Code Playgroud)

我也知道文档说明将指针传递给go函数不起作用。但是上面的代码似乎离它没有那么远。我只是想知道是否可以以某种方式跳过导出步骤。

pointers go cgo

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

如何在Go中复用通道输出

我正在寻找一种解决方案,可以多路传输一些通道输出。

我有一个数据源,它是从io.Reader我发送到单个通道的读取的。另一方面,我有一个从通道读取的websocket请求处理程序。现在,发生了两个客户端创建一个websocket连接的情况,这两个客户端都从同一通道读取内容,但是每个客户端仅获得部分消息。

代码示例(简体):

func (b *Bootloader) ReadLog() (<-chan []byte, error) {
    if b.logCh != nil {
        logrus.Warn("ReadLog called while channel already exists!")
        return b.logCh, nil // This is where we get problems
    }

    b.logCh = make(chan []byte, 0)

    go func() {
        buf := make([]byte, 1024)
        for {
            n, err := b.p.Read(buf)

            if err == nil {
                msg := make([]byte, n)
                copy(msg, buf[:n])
                b.logCh <- msg
            } else {
                break
            }
        }

        close(b.logCh)
        b.logCh = nil
    }()

    return b.logCh, …
Run Code Online (Sandbox Code Playgroud)

channel go multiplexing

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