小编Lou*_*hys的帖子

如何在调用Process.GetProcessById之前检查进程是否仍在运行?

在.NET中Process.GetProcessById,如果没有运行具有此ID的进程,则抛出异常.如何安全地调用此方法,以便它不会抛出异常?我在想类似的东西

if(Process.IsRunning(id)) return Process.GetProcessById(id);
else return null; //or do something else
Run Code Online (Sandbox Code Playgroud)

但是找不到任何检查ID的方法,除了可能获取所有正在运行的进程并检查列表中是否存在id.

.net c# system.diagnostics

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

如何创建两个构造函数重载,两者都只占用一个字符串参数?

例如,您希望可以使用文件路径和使用字符串以两种方式初始化对象.通常两者构造应该采取一个字符串参数,MyObject(string file)MyObject(string content),但不可能超载这种方式.你有什么建议?

编辑:在第一种情况下,还需要文件路径,因此请不要建议读取文件内容的解决方案,只是将内容传递给其他构造函数.

.net c# constructor

6
推荐指数
2
解决办法
2121
查看次数

如果使用块返回,是否会丢弃IDisposable?

例如

using(var something = GetSomething())
{
    something.DoSomething();
    if(something.IsX()) return true;
}
return false;
Run Code Online (Sandbox Code Playgroud)

.net c# idisposable using return

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

ObservableCollection如何触发Replace操作?

在NotifyCollectionChangedEventArgs的事件args的文档中,有一个名为Replace 的操作(除了Add,Remove,Move等).什么时候可以解雇?我在ObservableCollection中看不到任何Replace方法

.net c# observablecollection inotifycollectionchanged

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

如何调试Visual Studio 2010中的属性集?

假设我有这个属性

public ISetting Setting { get; set; }
Run Code Online (Sandbox Code Playgroud)

如何在集合中获得断点?因此,当某些东西设置一个值时,程序会暂停.

我试着这样做

public IDatabaseConnectionSetting ConnectionSetting { 
    get; 
    set;
}
Run Code Online (Sandbox Code Playgroud)

并把断点放在set;线上,但它仍然不起作用.红色断点荧光笔突出显示整个属性声明

c# debugging properties breakpoints visual-studio

6
推荐指数
2
解决办法
3827
查看次数

是否可以消除使用声明中冲突类型名称的歧义?

例如,双方System.ThreadingSystem.Timers有类Timer.因此,如果我想System.Timers.Timer在一个使用的类中使用System.Threading,我必须使用类似的东西

System.Timers.Timer myTimer = new System.Timers.Timer();
Run Code Online (Sandbox Code Playgroud)

每次我想宣布/初始化计时器.有没有办法告诉编译器"每当我说Timer,System.Timers.Timer除非另有说明,否则使用?" 这样我就可以使用简单了

Timer t = new Timer();
Run Code Online (Sandbox Code Playgroud)

默认情况下System.Timers.Timer,除非我明确指定

System.Threading.Timer t2 = new System.Threading.Timer();
Run Code Online (Sandbox Code Playgroud)

.net c# compiler-construction namespaces collision

6
推荐指数
2
解决办法
2124
查看次数

如何在连接事件时转换EventArgs?

在.NET应用程序中,通常以这种方式连接事件:

    public event EventHandler<ChangeEventArgs> OnChange
    {
        add { _dependency.OnChange += value; }
        remove { _dependency.OnChange -= value; }
    }
Run Code Online (Sandbox Code Playgroud)

但是,这仅在有线事件具有相同事件处理程序时才有效.在我目前的情况下,原始事件args是库的专有,我不想将它暴露给客户端代码.所以我有一些适配器(ChangeEventArgs).如何使用上面的代码转换事件args?我想象下面的东西(但下面的代码不起作用)

    public event EventHandler<ChangeEventArgs> OnChange
    {
        add { _dependency.OnChange += Convert(value); }
        remove { _dependency.OnChange -= Convert(value); }
    }
Run Code Online (Sandbox Code Playgroud)

要么

    public event EventHandler<ChangeEventArgs> OnChange
    {
        add { _dependency.OnChange += value(this, Convert(args)); }
        remove { _dependency.OnChange -= value(this, Convert(args)); }
    }
Run Code Online (Sandbox Code Playgroud)

.net c# events

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

如何在IClientMessageInspector中获取调用的操作名称?

IClientMessageInspector在我的应用程序中实现了"拦截"传出Web服务调用.是否有可能找出哪些操作正在从内部被称为BeforeSendRequestAfterReceiveReply

这里有一个类似的问题,如何在WCF消息检查器中获取调用的操作名称,该命令用于服务器端(接收请求的一方).我尝试做类似的事情,例如

    public object BeforeSendRequest(ref Message request, IClientChannel channel)
    {
        var v = OperationContext.Current.OutgoingMessageProperties["HttpOperationName"];
        return null;
    }

    public void AfterReceiveReply(ref Message reply, object correlationState)
    {
        var v = OperationContext.Current.OutgoingMessageProperties["HttpOperationName"];
    }
Run Code Online (Sandbox Code Playgroud)

但在传出请求期间,似乎OperationContext.Current为null,所以我不能使用它.知道如何获得它吗?知道怎么干净利落(相反,解析SOAP xml)?

.net c# wcf soap iclientmessageinspector

6
推荐指数
2
解决办法
4477
查看次数

如何从"C"发送net-snmp陷阱

我需要编写代码来从我的应用程序发送陷阱(使用net-snmp API)任何人都有一个简单的示例代码来做到这一点?谢谢,吉尔

c snmp

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

如何以编程方式记录PerformanceCounter

我了解使用Perfmon.msc您可以创建自定义性能计数器并使用计数器日志,您可以将计数器值写入文本文件.

我也理解我也可以通过使用创建性能计数器以编程方式使用它System.Diagnostics.PerformanceCounter,并使用NextValue()方法获取计数器值.是否有一种程序化的方法来告诉PerformanceCounter对象将日志写入文本文件(类似于Counter Log in perfmon.msc)?

.net c# logging perfmon performancecounter

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