小编Jef*_*tes的帖子

如何在.NET 1.1中创建和启动参数化线程?

.NET 1.1缺乏ParameterizedThreadStart(我必须使用1.1,因为它是支持NT 4.0的最后一个)

在.NET 2.0中,我只想写:

Thread clientThread = new Thread(new ParameterizedThreadStart(SomeThreadProc));
clientThread.Start(someThreadParams);
Run Code Online (Sandbox Code Playgroud)

如何创建等效的.NET 1.1代码?

c# .net-1.1 multithreading nt4

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

在Visual Studio 2008中将项目更改为Web应用程序

在VS 2008的解决方案我刚刚继承有一个正常的类库项目,实际上应该是一个Web应用程序项目(因为它是一个Web服务确实).转换它的最佳方法是什么?

.net c# visual-studio-2008

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

如何确保使用正确的DateTime?

我有一个Silverlight客户端,它与一些ASP.NET Web服务进行通信,然后修改数据库.客户端具有可以修改的数据,并通过Web服务发送到数据库.此数据按日期组织.

显然,客户端可以驻留在ASP.NET服务器的不同时区,因此,如何确保DateTime信息在数据库的正确时区内?DateTime的时区信息是否会在客户端和服务器之间存活,以便转换为UTC将正确生成UTC时间,还是需要在客户端进行UTC转换?

asp.net silverlight timezone datetime

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

Linq to xml,检索基于通用接口的列表

我有一个看起来像这样的XML文档

    <Elements>
     <Element>
      <DisplayName />
      <Type />
     </Element>
    </Elements>
Run Code Online (Sandbox Code Playgroud)

我有一个界面,

interface IElement
{
    string DisplayName {get;}
}
Run Code Online (Sandbox Code Playgroud)

以及一些派生类:

public class AElement: IElement

public class BElement: IElement
Run Code Online (Sandbox Code Playgroud)

我想要做的是编写最有效的查询来迭代XML并创建一个列表IElement,包含AElementBElement基于XML中的"Type"属性.

到目前为止我有这个:

IEnumerable<AElement> elements = 
    from xmlElement in XElement.Load(path).Elements("Element")
    where xmlElement.Element("type").Value == "AElement"
    select new AElement(xmlElement.Element("DisplayName").Value);

return elements.Cast<IElement>().ToList();
Run Code Online (Sandbox Code Playgroud)

但这只是为了AElement.有没有办法添加BElement相同的查询,并使其通用IEnumerable<IElement>?或者我是否必须为每个派生类型运行此查询一次?

c# xml linq

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

WCF 4和NetTcpBinding

我正在测试WCF 4的无配置功能.

我已经构建了一个简单的服务并将其部署到IIS.该服务部署为svc文件

客户端配置为空:

<configuration>
    <system.serviceModel>
        <bindings />
        <client />
    </system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Web服务器上的配置是:

<system.web>
   <compilation debug="true" targetFramework="4.0" />  
</system.web>   
<system.serviceModel>
   <behaviors>
      <serviceBehaviors>
         <behavior>
            <serviceMetadata httpGetEnabled="true"/>
            <serviceDebug includeExceptionDetailInFaults="false"/>
         </behavior>
      </serviceBehaviors>
   </behaviors>
   <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 
<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常:

BasicHttpBinding myBinding = new BasicHttpBinding();
EndpointAddress myEndpoint = new EndpointAddress("http://localhost/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
IService1 wcfClient1 = myChannelFactory.CreateChannel();
int z = wcfClient1.Multiply(composite);
Run Code Online (Sandbox Code Playgroud)

此代码不会:

NetTcpBinding myBinding = new NetTcpBinding();
EndpointAddress myEndpoint = new EndpointAddress("net.tcp://localhost:808/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint); …
Run Code Online (Sandbox Code Playgroud)

c# wcf .net-4.0

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

获取List <String>中的字符串,不包括List <String []>中的字符串

List<string>除了出现的字符串之外,我将如何获取出现的所有字符串List<string[]>.如果他们都List<string>这样做,我可以让它工作

IEnumerable<string> list3 = List1.Except(List2);
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何用它List<string[0]>代替list2

c#

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

首次单击时不会打开上下文菜单

我有一个C#应用程序,我动态填充,然后启动一个名为cmTestplan的上下文菜单.

    private void cmTestplan_Opening(object sender, CancelEventArgs e)
    {
        if ((cmTestplan.SourceControl is TextBox) && 
        (cmTestplan.SourceControl.Enabled == true) && 
        (cmTestplan.SourceControl.Text != ""))
        {

            RightClickSetup(cmTestplan.SourceControl.Text);
            cmTestplan.Show();
        }

    }

    private void RightClickSetup(string Path)
    {
        this.UseWaitCursor = true;
        cmTestplan.Items.Clear();

        //Test for file or folder
        if (Directory.Exists(Path) == true)
        {
            cmTestplan.Items.Add("Open folder");
            this.UseWaitCursor = false;
        }
        else if (File.Exists(Path) == true)
        {
            cmTestplan.Items.Add("Open folder");
            cmTestplan.Items.Add("Open file");
            this.UseWaitCursor = false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

出于某种原因(我希望你们其中一位女士或先生们能够提供),我第一次右键单击与此cmTestplan关联的文本框时,菜单不会显示.此后,只需单击一下,它就会一致显示.

我已经尝试评论所有文件/文件夹检查仍然得到问题.

c# contextmenu show

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

C#方法返回字符串的一部分

我正在使用c#.net 2.0.

我和我一起得到了以下字符串

string str = "tcm:0-433-1";
Run Code Online (Sandbox Code Playgroud)

现在我想在C#中创建一个方法,它将上面的字符串作为输入参数并将返回"tcm:433-".

请建议最好的方法!

.net c#

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

typedef等效于c#中的重载

我有一大堆的是具有不同的含义很多的整数代码(我宁愿一个通用的解决方案,但对于一个具体的例子:某一天的 - 月月对比的最年与年等).我希望能够基于这些含义重载类构造函数.

例如

int a; // takes role A
int b; // takes role B

var A = new Foo(a);  // should call one constructor
var B = new Foo(b);  // should call another constructor
Run Code Online (Sandbox Code Playgroud)

现在很明显,这将无法工作,但如果我可以定义一个类型(而不仅仅是一个别名),int但是这个类型的名称是:

typedef int TypeA;  // stealing the C syntax
typedef int TypeB;
Run Code Online (Sandbox Code Playgroud)

我可以做我需要的重载,让类型系统跟踪什么是什么.特别是这将允许我确保值不会混淆,例如,作为一年的函数返回的值不用作月中的日期.

有没有办法短的classstruct包装在C#这样做吗?


如果解决方案也适用于浮动和双打,那将是很好的.

c# types typedef overloading

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

是否有一个委托结合了Func <T>和Action <T>的功能?

当你调用a时,Action<T>你将传入一个T类型的变量,该变量可用于委托中定义的代码,例如

var myAction = new Action<string>(param =>
{
    Console.WriteLine("This is my param: '{0}'.", param);
});

myAction("Foo");

// Outputs: This is my param: 'Foo'.
Run Code Online (Sandbox Code Playgroud)

当你调用Func<T>委托时,会返回一个T类型的变量,例如

var myFunc = new Func<string>(() =>
{
    return "Bar";
});

Console.WriteLine("This was returned from myFunc: '{0}'.", myFunc());

// Outputs: This was returned from myFunc: 'Bar'.
Run Code Online (Sandbox Code Playgroud)

这是问题 -

有这将需要输入参数和第三委托类型返回一个值?就像是 -

var fooDeletegate = new FooDelegate<string, int>(theInputInt =>
{
    return "The Answer to the Ultimate Question of Life, the Universe, and Everything …
Run Code Online (Sandbox Code Playgroud)

.net c# delegates

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

无法将期望类型`(t1,t2,t0)'与实际类型`[a0]`匹配

我正在尝试用输入解决分数背包问题,

[("label 1", value, weight), ("label 2", value, weight), ...]
Run Code Online (Sandbox Code Playgroud)

和输出,

[("label 1", value, solution_weight), ("label 2", value, solution_weight), ...]
Run Code Online (Sandbox Code Playgroud)

但我一直收到错误computeKnapsack:

"Couldn't match expected type `(t1, t2, t0)' with actual type `[a0]`"
Run Code Online (Sandbox Code Playgroud)

我无法理解问题可能是什么.我正在尝试创建一个三项目元组列表.我怎样才能让它停止期待一个3入口的元组?

fst3 (a,b,c) = a
snd3 (a,b,c) = b
trd3 (a,b,c) = c
fst4 (a,b,c,d) = a
snd4 (a,b,c,d) = b
trd4 (a,b,c,d) = c
qud4 (a,b,c,d) = d

sortFrac (a1, b1, c1, d1) (a2, b2, c2, d2)
  | d1 > d2 = GT
  | d1 …
Run Code Online (Sandbox Code Playgroud)

haskell types tuples knapsack-problem

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

生成排列的LINQ代码的说明

有人可以向我解释这段代码如何产生排列吗?

我看到它正在使用递归列表构建,但我不能完全了解精确的机制.

public static IEnumerable<IEnumerable<T>> Permute<T>(this IEnumerable<T> list)
{
    if (list.Count() == 1)
        return new List<IEnumerable<T>> { list };
    return list
        .Select((a, i1) => 
                    Permute(list.Where((b, i2) => i2 != i1))
                   .Select(b => (new List<T> { a }).Union(b)))
        .SelectMany(c => c);
}
Run Code Online (Sandbox Code Playgroud)

c# linq algorithm

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