小编Fra*_*Nel的帖子

适用于Visual Studio 2012的PowerCommands?

我看到PowerCommands for Visual Studio 2010支持visual studio 2012,但它最后一次更新于2010年8月.是否有新的"PowerCommands for Visual Studio 2012"或者是否有可行的替代品?

ide powercommands visual-studio visual-studio-2012

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

在只读静态字段初始化时的线程安全性

如果创建一个只读静态成员,如下所示:

public sealed class MyClass
{
    public readonly static MyClass Instance = new MyClass();
}
Run Code Online (Sandbox Code Playgroud)

我们知道如果某个线程第一次访问MyClass,静态构造函数将初始化MyClass.Instance字段.但是,如果多个线程同时访问MyClass(即静态字段线程安全的初始化),是否会创建单个实例(在本例中为MyClass)?

c# multithreading thread-safety

18
推荐指数
2
解决办法
6682
查看次数

在解决方案资源管理器中创建子项

我们在C#中使用分配类来分类我们的大类代码.在解决方案资源管理器中,我们将列出如下代码文件:

- MyClass.cs
- MyClass.Partial1.cs
- MyClass.Partial2.cs
Run Code Online (Sandbox Code Playgroud)

但我们想拥有的是这样的东西(就像你在设计师文件中看到的那样):

- MyClass.cs
    ? MyClass.Partial1.cs
    ? MyClass.Partial2.cs
Run Code Online (Sandbox Code Playgroud)

我知道您可以手动修改项目文件以设置此依赖关系,如下所示:

<Compile Include="MyClass.cs" />
<Compile Include="MyClass.Partial1.cs">
    <DependentUpon>MyClass.cs</DependentUpon>
</Compile>
<Compile Include="MyClass.Partial2.cs">
    <DependentUpon>MyClass.cs</DependentUpon>
</Compile>
Run Code Online (Sandbox Code Playgroud)

视觉工作室有捷径吗?或者也许是一个有助于此的扩展?(无需手动编辑项目文件)

c# visual-studio

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

处理包装任务的有限并发级别任务调度程序(具有任务优先级)

我很难找到一个任务调度程序,我可以在其上安排优先级任务,但也可以处理"包装"任务.它类似于Task.Run尝试解决的问题,但您无法指定任务调度程序Task.Run.我一直在使用一个QueuedTaskScheduler并行扩展额外的样品,解决了任务优先级要求(也被这个建议).

这是我的例子:

class Program
{
    private static QueuedTaskScheduler queueScheduler = new QueuedTaskScheduler(targetScheduler: TaskScheduler.Default, maxConcurrencyLevel: 1);
    private static TaskScheduler ts_priority1;
    private static TaskScheduler ts_priority2;
    static void Main(string[] args)
    {
        ts_priority1 = queueScheduler.ActivateNewQueue(1);
        ts_priority2 = queueScheduler.ActivateNewQueue(2);

        QueueValue(1, ts_priority2);
        QueueValue(2, ts_priority2);
        QueueValue(3, ts_priority2);
        QueueValue(4, ts_priority1);
        QueueValue(5, ts_priority1);
        QueueValue(6, ts_priority1);

        Console.ReadLine();           
    }

    private static Task QueueTask(Func<Task> f, TaskScheduler ts)
    {
        return Task.Factory.StartNew(f, CancellationToken.None, TaskCreationOptions.HideScheduler | TaskCreationOptions.DenyChildAttach, ts);
    }

    private static Task QueueValue(int i, TaskScheduler …
Run Code Online (Sandbox Code Playgroud)

.net c# priority-queue task-parallel-library async-await

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

为什么ByRef不能与WithEvents一起使用?

我想我有一个相当好的想法ByVal,ByRef在VB 和VB 之间有什么区别,但我的问题是当我尝试将它与声明的成员一起使用时WithEvents.

我有以下方法:

Private Sub SafeCloseAndDeRefConnection(ByRef cnx As ADODB.Connection)
On Error GoTo ErrH
    If Not cnx Is Nothing Then
        If (cnx.State And adStateConnecting) = adStateConnecting Then
            cnx.Cancel
        End If

        If (cnx.State And adStateOpen) = adStateOpen Then
            cnx.Close
        End If

        Set cnx = Nothing
    End If
Exit Sub
ErrH:
 Set cnx = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

如果我有一个类成员声明如此:

Private WithEvents Connection As ADODB.Connection
Run Code Online (Sandbox Code Playgroud)

然后我想关闭连接然后调用它:

SafeCloseAndDeRefConnection Connection
Run Code Online (Sandbox Code Playgroud)

但之后该呼叫SafeCloseAndDeRefConnectionConnection变量设置Nothing,仍然有其原有的参考.

如果我删除 …

vb6 byref

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