小编taf*_*afa的帖子

在使用块的中间返回

就像是:

using (IDisposable disposable = GetSomeDisposable())
{
    //.....
    //......
    return Stg();
}
Run Code Online (Sandbox Code Playgroud)

我相信这不是回报声明的合适地方,是吗?

c# dispose idisposable using-statement

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

如何在Visual Studio 2010中设置winforms项目的起始形式

有人知道如何在Visual Studio 2010中设置winforms项目的起始形式吗?我已经转到Project Properties并更改了Startup Object,但是在dowpdownlist中,唯一可用的选项是"(None)"和"ProjectName.Program.cs"."program.cs"是我的默认代码文件.请帮我.(我在C#工作)

c# visual-studio winforms

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

在派生类型中找不到属性集方法

如在.NET Reflection中设想私有属性一样,可以使用私有setter设置属性.但是当在基类中定义属性时,抛出System.ArgumentException:"找不到属性集方法".

一个例子可以是:

using System;
class Test
{
    public DateTime ModifiedOn { get; private set;}
}

class Derived : Test
{
}

static class Program
{
    static void Main()
    {
        Derived p = new Derived ();
        typeof(Derived).GetProperty("ModifiedOn").SetValue(
            p, DateTime.Today, null);
        Console.WriteLine(p.ModifiedOn);
    }
}
Run Code Online (Sandbox Code Playgroud)

有谁知道解决这种情况的方法?

编辑:给出的示例是问题的简单说明.在现实世界的场景中,我不知道属性是在基类中定义的,还是在基类的基础中定义的.

c# propertyinfo .net-3.5

16
推荐指数
4
解决办法
6673
查看次数

是否可以在运行时更改WebReference的属性?

我试图想出这样一个解决方案,用户将输入一个Web服务的URL,它将被测试.

虽然我想要的是URL更改,但我保证服务描述总是相同的(当然wsdl:service标签除了包含soap:地址); 我只是想测试不同的客户,运行相同的服务.

c# web-reference asmx visual-studio

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

有没有合适的算法来解决边缘去除问题?

存在一个有向图(不一定连接),其中一个或多个节点被区分为源.可从任何一个源访问的任何节点都被视为"已点亮".现在假设其中一条边被移除.问题是确定先前已点亮且不再点亮的节点.

我认为可以考虑类似城市电力系统的类比.

algorithm graph-theory

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

指向2D轴内对齐的矩形,没有分支

我正在寻找最优化的方法来检测一个点是否在轴对齐的矩形内.

最简单的解决方案需要4个分支(if),这对性能不利.

c algorithm 2d

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

应用程序如何访问另一个应用程序设置的环境变量?

在这种情况下,设置环境变量的应用程序在需要访问env.var的应用程序中执行.在main()的返回值(C#编程指南) MSDN文章讨论了一个批处理文件中使用.如果我尝试一样,一切都很好; 但是,不需要从批处理脚本运行,而是从应用程序内运行.

Process.Start("app","args"); // app sets the env.var.
string envVar = System.Environment.GetEnvironmentVariable("ERRORLEVEL");
Run Code Online (Sandbox Code Playgroud)

显然是不成功的.Process.Start使"app"在我认为完全不同的环境中工作.换句话说,我需要在与调用者应用程序相同的环境中运行"app",以便访问它设置的环境变量.

c# environment environment-variables

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

如何实现识别迭代器的编译器?

我一直在使用迭代器,我喜欢它们.

但是虽然我已经仔细考虑过,但我无法弄清楚"如何识别迭代器的编译器".我也研究过它,但找不到任何资源来解释编译器设计上下文中的情况.

详细说来,大多数关于迭代器的文章暗示存在某种实现所需行为的"魔法".他们建议编译器维护一个状态机,以便跟踪执行的位置(可以看到最后一次'yield return').我对迭代器的这个属性特别感兴趣,可以进行惰性求值.

顺便说一句,我知道什么是状态机,已经采用了编译器设计课程,研究过龙书.但显然,我无法将我所研究的内容与csc的"魔法"联系起来.

任何知识或差异的想法都表示赞赏.

compiler-construction iterator yield-keyword

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

IEnumerable.GetEnumerator()在Delphi 6中返回IEnumVariant

我通过COM在Delphi 6中使用.Net2.0程序集.其中一个接口中的一个方法返回IEnumerable.只要我导入位于的mscorlib.tlb

"C:\ WINDOWS\Microsoft.NET \框架\ V2.0.50727"

,我可以在Delphi 6中同时访问IEnumerable和IEnumerator接口.以下是在mscorlib_TLB.pas中定义IEnumerable的部分:

// *********************************************************************//
// Interface: IEnumerable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {496B0ABE-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
  IEnumerable = interface(IDispatch)
    ['{496B0ABE-CDEE-11D3-88E8-00902754C43A}']
    function GetEnumerator: IEnumVARIANT; safecall;
  end;
Run Code Online (Sandbox Code Playgroud)

GetEnumerator方法的返回值不是IEnumerator,当我尝试将其强制转换为IEnumerator时,"不支持接口"会抛出异常.

以前有人遇到过这个或类似的问题吗?怎么解决?

delphi com ienumerable .net-2.0

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