小编Nic*_*ick的帖子

儿童XElement索引

鉴于XElement有没有办法在父容器中找出该元素的索引?

我知道一定有,但我无法理解!

谢谢!

c# xml linq xelement

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

使用双指针而不是单指针

我正在使用二进制搜索树.

所以,这是用于表示节点的结构:

typedef struct TreeNode
{
int num;
struct TreeNode *left,*right;
}TREENODE;
Run Code Online (Sandbox Code Playgroud)

要在树中插入节点,我有以下方法签名

void InsertNode(TREENODE **root,int data);
Run Code Online (Sandbox Code Playgroud)

在上面的方法中为什么我们需要双指针.我们可以使用单个指针!

我们使用双指针避免重复吗?

c pointers data-structures

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

使用反射动态绑定到C#事件

我有一个WPF控件,文档很差.

在代码隐藏中,我想反思控件触发的事件,GetType().GetEVents()并为每个事件添加一个处理程序,只打印出事件的名称.

这将允许我看到与控件的交互实际正在做什么.

到目前为止,我有:

foreach (var e in GetType().GetEvents())
{
    var name = e.Name;
    var handler = new Action<object,object>( (o1,o2) =>Console.WriteLine(name));

    try
    {
        e.AddEventHandler(
                     this,
                     Delegate.CreateDelegate(
                               e.EventHandlerType,
                               handler.Target, 
                               handler.Method
                               ));
    }
    catch (Exception ex)
    {
        Console.WriteLine( "Failed to bind to event {0}", e.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎在事件签名时有效(object,EventArgs)但在某些其他事件时无法绑定.

有没有办法做到这一点,而不必知道事件的签名?

c# events

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

C#在构造函数之前执行代码

我想在某些类构造函数执行之前自动执行一些代码(加载一些类需要的externall),所有这些都在C#,.NET 2.0中

编辑:

public class MyClass 
{
    ThisTypeFromExternalAssembly variable;
}
Run Code Online (Sandbox Code Playgroud)

而我真正需要的是将程序集加载器以某种方式"附加"到MyClass,以便在需要时加载外部组件.这必须在构造函数之前发生,但我不想Init()在构造MyClass()对象之前调用一些

.net c#

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

在c ++ 11中使用`someType()`无法初始化哪些临时值?

我有一些宏对类型和初始值进行操作.我需要的初始值转换vInivType(vIni总是转换为vType,有时它具有相同的类型).在vIni可能是空的,以及,在这种情况下vType,应未初始化或默认初始化.reult传递给模板化函数.

简而言之,

template<typename T> void foo(const T& o);

foo(vType(vIni));
foo(vType());
Run Code Online (Sandbox Code Playgroud)

必须编译.

我已经发现foo(unsigned int())foo(int*())不会编译,但它可以使用typedef解决.

什么是其他情况(除了带有空格和指针的内置类型)会失败?

c++ initialization c++11

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

如何从dll导入一个类?

MYDLL.DLL

namespace mydll
{
    public class MyClass {
        public static int Add(int x, int y)
        {
            return x +y;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在另一个项目中,如何导入MyClass或只添加功能?

我想用DllImport添加,

[DllImport("mydll.dll",CharSet = CharSet.Auto)] public static extern .......

我怎样才能做到这一点?

c# dll dllimport

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

C错误:数组类型具有不完整的元素类型

我正在尝试在Ubuntu 11.04中编译一个在Windows中运行良好的程序,但它会出现上述错误.我在导致错误的行中添加了注释.这是代码:

route_input() {
    int num_routes;//Variable to act as the loop counter for the loop getting route details
    int x;

    char route_id[3];
    char r_source[20];
    char r_destination[20];
    int r_buses;



    printf("Please enter the number of routes used: \n");
    scanf("%d", &num_routes);
    char routes_arr[num_routes][10];//An array to hold the details of each route

    printf("\nNumber of routes is %d\n", num_routes);

    struct route r[num_routes];//An array of structures of type route (This line causes the error)

    fflush(stdin);

    for (x = num_routes; x > 0; x--) {
         printf("\nEnter the …
Run Code Online (Sandbox Code Playgroud)

c ubuntu gcc struct

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

知道为什么std :: move在这里失败了吗?

#include <thread>
#include <cassert>
#include <iostream>
#include <string>
#include <future>
#include <utility>

void ThFun(std::promise<std::string>&& prms)
{
    std::string hello = "Hello From Future!\n";
    prms.set_value(hello);
}

int main()
{
    std::promise<std::string> prms;
    auto ftr = prms.get_future();
    std::thread th(&ThFun, std::move(prms));
    std::cout << "Hello from Main\n";
    std::string str = ftr.get();
    std::cout << str << std::endl;
    th.join();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到这个构建错误.

1>c:\program files (x86)\microsoft visual studio 11.0\vc\include\functional(1140):     error C2664: 'void (std::promise<_Ty> &&)' : cannot convert parameter 1 from 'std::promise<_Ty>' to 'std::promise<_Ty> &&'
1>          with
1>          [ …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++ c++11

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

闪烁ToolStripButton

我使用的ToolStrip是一些ToolStripButtons.

我想要的是能够闪烁其中一个按钮以引起用户的注意.

例如,如果他们对信息进行了更改,则需要单击" 保存"按钮.

如果这是一个普通的按钮,我可以使用a Timer并定期更改,BackColor但这不适用于ToolStrip.

我可以创建一个Renderer子类并将其分配给ToolStrip但是这似乎只在特定情况下使用 - 即它是由事件驱动的.

有没有人有任何想法?

c# toolstripbutton winforms

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

具有顶部垂直对齐的多行文本框

我正在尝试创建一个多行TextBox来允许用户输入文本.

我有:

<TextBox Grid.Row="0"
    Height="107"
    ScrollViewer.VerticalScrollBarVisibility="Auto"
    ScrollViewer.HorizontalScrollBarVisibility="Disabled"
    AcceptsReturn="True"
    HorizontalAlignment="Left"
    Margin="164,80,0,0"
    VerticalAlignment="Top"
    Width="237"
    Text="{Binding Description, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MaxLength="300" 
    TextWrapping="Wrap"/>
Run Code Online (Sandbox Code Playgroud)

但是文本是垂直居中的,我似乎无法找到TextAlignment垂直对齐的属性.

我随后将文本框包装在边框中并删除了Height规范,但是当我单击文本框下方的区域(但在边框内)时,我希望文本框能够获得焦点,我似乎无法找到方法来执行此操作.

有没有人遇到过这个问题并找到了解决方案?

.net c# wpf xaml textbox

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