小编Ian*_*n P的帖子

使用lambda表达式将对象列表从一种类型转换为另一种类型

我有一个foreach循环读取一种类型的对象列表并生成一个不同类型的对象列表.我被告知lambda表达式可以达到相同的效果.

var origList = List<OrigType>(); // assume populated
var targetList = List<TargetType>(); 

foreach(OrigType a in origList) {
    targetList.Add(new TargetType() {SomeValue = a.SomeValue});
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激 - 我是lambda和linq的新手谢谢,s

c# generics lambda

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

在发送到Base构造函数之前修改参数值

标题可能有点含糊不清,但我想不出更好的方法来说明这一点.

我意识到在调用基础构造函数之前我不能调用派生构造函数,但是我可以在将它们传递给基础之前以某种方式修改/创建参数值吗?

例如,

public enum InputType
{
    Number = 1,
    String = 2,
    Date = 3
}

public class BaseClass
{
    public BaseClass(InputType t)
    {
        // Logic
    }
}

public class DerivedClass : BaseClass
{
    public DerivedClass(int i)
        : base(value)
    // Can I do something to infer what value should be here?
    {
        // Logic
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个派生类,可以推断出基本构造函数所需的值(在这个例子中,InputType.Number对于一个有效int),有没有办法修改和/或创建在派生之前传递给基础构造函数的值构造函数执行?

c# inheritance constructor

30
推荐指数
2
解决办法
9061
查看次数

如何确定给定的hWnd是否仍然有效?

我正在使用第三方类来生成Internet Explorer实例.该类有一个属性hWnd,它返回进程的hWnd.

接下来,我可能想要重用应用程序的实例(如果它仍然存在),所以我需要告诉我的帮助程序类附加到它.在此之前,我想知道给定的hWnd是否仍然有效,否则我将生成另一个实例.

我怎样才能在C#和.NET 3.5中做到这一点?

c# hwnd handle winforms

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

如何使用MVVM模式"禁用"WPF中的按钮?

我正在努力掌握WPF和MVVM,并且取得了很好的进展.WPF和MVVM方面的进展顺利.

但是,XAML和数据绑定方面是另一个故事:)

我如何"禁用"按钮?

例如,我的视图模型中有一个CanClose属性,用于确定当前是否可以关闭应用程序.如果一个工作线程没有做某事,那么这个属性设置为false,我想要灰显按钮,或者通过某种绑定以某种方式在视觉上禁用关闭按钮.

我该怎么做呢?

谢谢!

编辑 -

太糟糕了我只能接受一个答案.

这两个答案对我帮助很大.在Kent的帖子中,他更进一步解释了为什么要在应用程序中实现命令基础结构,而不是按照我提出的方式禁用按钮:

如何使用MVVM模式"禁用"WPF中的按钮?

以及我原来问题的答案:

如何使用MVVM模式"禁用"WPF中的按钮?

c# wpf xaml .net-3.5

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

在编写自己的加密方法时,您使用了哪些技术?

多年,也许10年,我一直对密码学着迷.我读了一本关于基于XOR位的加密的书,并且从那以后就被迷住了.

我想我更加公平地说那些可以打破各种加密方法的人着迷,但我离题了.

至关重要 - 在编写加密时使用了哪些方法?密码学中的混淆是否合适?

我使用两个基于密钥的XOR加密,密钥上的各种散列技术(SHA1),以及诸如在这里和那里反转字符串等简单的事情.

我很想看到其他人的想法,并在编写一个不那么开箱即用的加密方法时尝试.此外 - 关于专业人士如何"打破"各种加密技术的任何信息也会很有趣.

澄清 - 我不希望在任何生产代码或我的任何代码中使用它.我很有兴趣通过玩弄来学习它是如何工作的,而不是重新发明轮子.:)

伊恩

language-agnostic security encryption cryptography

16
推荐指数
5
解决办法
4574
查看次数

为什么扩展方法不适用于命名空间别名?

这可能是一个无知的问题,但我不确定为什么我不能一起使用命名空间别名和扩展方法.

以下示例工作得很好:

Program.cs中

using System;
using ExtensionMethodTest.Domain;

namespace ExtensionMethodTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var m = new Domain.MyClass();
            var result = m.UpperCaseName();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyClass.cs

using System;

namespace ExtensionMethodTest.Domain
{
    public class MyClass
    {
        public string Name { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyClassExtensions.cs

using System;

namespace ExtensionMethodTest.Domain
{
    public static class MyClassExtensions
    {
        public static string UpperCaseName (this MyClass myClass)
        {
            return myClass.Name.ToUpper();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在Program.cs中将域别名如下:

using Domain = ExtensionMethodTest.Domain;
Run Code Online (Sandbox Code Playgroud)

扩展方法不再有效..

当我处理将各种域对象转换为合同对象(假设我有4个域程序集和4个合同程序集)用于Web服务时,这可能会相当令人沮丧.使用别名将非常方便,因为我可以如下别名并继续使用各种扩展方法(如ToContract等): …

c# .net-3.5 visual-studio-2008

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

从子文件夹中调用数据库播种器

我想创建一组数据库种子类,专门用于为我正在编写的测试用例添加数据.

我的计划是将它们放在文件夹中:

app/database/seeds/testData/
Run Code Online (Sandbox Code Playgroud)

然后通过命令调用播种器:

php artisan db:seed --class="testData/myTestSeeder"
Run Code Online (Sandbox Code Playgroud)

但我得到一个"类不存在"的错误.

是否可以调用生活在种子子文件夹中的数据库播种器?我没有在文档中看到明确的"是",但我也没有看到明确的"否".

php laravel-4

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

重新启动VM时,角色实例名称无效

我在Azure虚拟网络中有8节点群集设置.

在我从Azure管理门户关闭虚拟机(关闭图标/按钮)之前,它工作正常.

在我上周停止了两台虚拟机后,我无法重新启动它们.

星期五晚上我关闭了一台虚拟机以节省成本,但今天我也无法启动这个虚拟机.

我看到以下错误:

无法启动虚拟机VM_NAME_HERE.

角色实例名称无效

任何人都可以建议如何解决它?

我也从Powershell尝试过同样的结果.

这是控制台输出:

VERBOSE: 1:33:16 PM - Completed Operation: Get Deployment
VERBOSE: 1:33:16 PM - Begin Operation: Start-AzureVM
Start-AzureVM : ResourceNotFound : Role instance name is not valid.
At line:1 char:1
+ Start-AzureVM -ServiceName MyServiceName -Name VMName
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Start-AzureVM], ComputeCloudException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.StartAzureVMCommand

VERBOSE: 1:33:49 PM - Completed Operation: Start-AzureVM
Run Code Online (Sandbox Code Playgroud)

对此的任何帮助都非常感谢.

此致,JE

powershell azure azure-vm-role

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

如何解决MVC 5中找不到的clientdependencyModule.cs

在此输入图像描述
我已将MVC 3项目升级到MVC 5,当我运行应用程序时,我收到ClientDependencyModule.cs`文件未找到运行时异常.

我怎么解决这个问题 ??

错误描述:

System.TypeAccessException发生了类型' ' 的例外ClientDependency.Core.Mvc.dll但未在用户代码中处理附加信息:尝试通过安全透明方法' ClientDependency.Core.Mvc.MvcFilter.ValidateCurrentHandler()'访问安全关键类型System.Web.Mvc.MvcHandler'失败.Assembly' ClientDependency.Core.Mvc, Version=1.7.0.4, Culture=neutral, PublicKeyToken=null'标有AllowPartiallyTrustedCallersAttribute,并使用2级安全透明模型.2级透明度导致AllowPartiallyTrustedCallers assemblies默认情况下所有方法都变为透明,这可能是导致此异常的原因.

如果我能提供更多信息,请告诉我.任何帮助是极大的赞赏 !!!谢谢 :)

c# svn asp.net-mvc-5

7
推荐指数
0
解决办法
836
查看次数

C#,Winforms和LINQ to SQL .. Datacontext生命周期?

我们使用我们编写的企业框架来促进我们所做的各种公司特定的事情.

在框架内,我们提供了适当时使用的LINQ to SQL ORM.所有这些都基于Microsoft MVC框架.在MVC方面,我们在基本控制器中新建了一个datacontext.这允许我们完整的datacontext生命周期,这对于事务非常有用.

我们希望完成的一项任务是提供Winforms支持.

然而,我正在撞墙,试图找出一种类似于Winforms的方法.

鉴于MVC方法非常简单,因为一个页面加载代表逻辑事务,因此很难在Winforms端提出解决方案.

有没有人做过类似的事情或有任何建议?

c# linq asp.net-mvc transactions winforms

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