小编Vac*_*ano的帖子

C#可以让我的课看起来像另一个班吗?

我有一个看起来像这样的课程:

public class BasePadWI
{
    public WorkItem WorkItemReference { get; set; }
    .... Other stuff ......
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个字典,定义如下:

public Dictionary<BasePadWI, Canvas> Pad { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想打个电话:

List<WorkItem> workItems = Pad.Keys.ToList();
Run Code Online (Sandbox Code Playgroud)

(注意:WorkItem是一个密封的类,所以我不能继承.)

我是否可以在课堂上做些诡计让它看起来像WorkItem

我在此期间做到了这一点:

List<WorkItem> workItems = Pad.Keys.ToList().ConvertAll(x=>x.WorkItemReference );
Run Code Online (Sandbox Code Playgroud)

c# class c#-3.0

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

使残缺文本框的文本更容易看到

我有一个文本框,当它被禁用时,其中的文本是灰色的,有点抖动.(这是标准功能.)

有没有办法让这更容易看到?

我试过这个:

txtBoxNumber.Enabled = false;
txtBoxNumber.ForeColor = Color.Black;
Run Code Online (Sandbox Code Playgroud)

那没有效果.

注意:这是一个.net Compact Framework应用程序,但我没有用CF标记问题,因为我认为它对于普通的.net是相同的.

.net c# winforms

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

Windows 7手机开发

我是一名C#dev,拥有Windows桌面应用程序的大部分经验.我想在Windows 7手机平台上开始开发.

从哪里开始?它会与VS2008一起使用还是需要VS 2010?如何为手机应用程序开发添加模板以及如何添加win 7模拟器?

我需要安装什么才能开始使用Windows 7手机开发?只是下载SDK将完成工作?

.net c# windows-phone-7

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

对于一个项目,`internal`和`public`是一样的吗?

在单个项目(即程序集)中,内部属性是否与public属性有什么不同?

我没有看到任何区别,但我想确保没有我想到的边缘情况.

c#

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

获取Linq to SQL以保存到数据库

所以我有以下代码:

// Get the current user
_currentUser = WindowsIdentity.GetCurrent();

// Get the list of address for the current user
_dataMap = new DataMapDataContext();
_addresses = _dataMap.Addresses
         .Where(address => address.InsertUserName == _currentUser.Name).ToList();
Run Code Online (Sandbox Code Playgroud)

....

_addresses.Add(form.Item);
_dataMap.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

当我调用SubmitChanges时,数据库中没有保存任何内容.这是为什么?我错过了这一点吗?我认为使用linq to sql你只需要在你的查询结果中添加项目,然后调用SubmitChanges就可以了....显然我错过了一些东西.

如果您使用"ToList",它现在有效吗?如果没有,那么如何将东西插入集合中?(我不认为Add是IQueryable的一部分.)

c# linq-to-sql

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

帮助尝试学习棱镜

我需要学习棱镜(用于评估我的工作).

我对我应该用来学习的版本感到困惑.我从网站上看到有一个版本4.0有活跃的下降.我也看到以前的版本是2.2.

我应该学习哪个版本?我不想学习2.2如果4.0是一个剧烈的变化.但是,大多数视频和博客文章大约是2.2,所以,如果我应该从4.0开始,那么我在哪里可以获得产品的介绍和如何使用它的基础知识?

此外,我会感谢任何好的教程或链接(当然除了codeplex网站:)

注意:我将使用Visual Studio 2010和C#4.0.

wpf prism

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

IEventAggregator没有覆盖模块

我试图让我的IEventAggregator允许我在一个模块中发布和事件,并在另一个模块中捕获它.我在单个模块/项目中尝试了下面的代码,效果很好.它只在我有一个模块/项目发布事件而另一个订阅它时失败.

我已经通过统一将我的IEventAggregator注入到两个模块中.

我有3个项目,其中两个有模块(称为A和B),一个只是一个普通的类库(称之为接口)

在类库接口中有以下代码:

public class RandomTestEvent : CompositePresentationEvent<string>
{
}
Run Code Online (Sandbox Code Playgroud)

在模块A中,按钮单击命令中存在此代码(这实际上在项目中的视图模型中):

var evt2 = _eventAggregator.GetEvent<RandomTestEvent>();
evt2.Publish("Testing");
Run Code Online (Sandbox Code Playgroud)

在模块B中有以下代码:

    public void Initialize()
    {
        var evt2 = _eventAggregator.GetEvent<RandomTestEvent>();
        evt2.Subscribe(OnRandomThingDone);
    }

    private void OnRandomThingDone(string obj)
    {
        MessageBox.Show("Random Event Done With: " + obj);            
    }
Run Code Online (Sandbox Code Playgroud)

我可以追踪,我看到订阅被调用.当我看到Publish geting时调用者说Subscriptions = 1(因此它知道订阅已经完成,所以我似乎没有2个不同的IEventAggregator实例.)

但OnRandomThingDone永远不会在发布后调用.

任何想法为什么?(我需要发布更多代码吗?如果有,请告诉我.)

c# wpf prism unity-container eventaggregator

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

什么控制可以调用事件的位置?

说我有这样一个类:

public class FauxIdentityForm
{
    public Guid FormID { get; set; }
    public event EventHandler Closed;
    public void TheObjectWasClosed(EventArgs e)
    {
        Closed(this, e);
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在TheObjectWasClosed方法中调用Closed事件.但是,如果在不同的类中(即使在同一个文件中),我有一个这样的方法:

public void CallTheEvent()
{
    FauxIdentityForm _formIdentity = new FauxIdentityForm {FormID = Guid.NewGuid()};

    _formIdentity.Closed(_formIdentity, null);  // <-- Does not compile!
}
Run Code Online (Sandbox Code Playgroud)

对Closed的调用被编译器击落(它希望我只使用+ =和 - =).

那么,实际上是只允许在类中允许的事件?这是限制吗?

如果是这样,它周围有吗?如果没有,为什么C#的创作者会这样做?(这有时会使事件变得非常困难.我想有一个很好的理由,它可能会让我远离自己,但我想知道它.)

c# events

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

使用ASP.NET的棱镜

我的公司正在研究ASP.NET和Prism.我们想知道我们可以在两个选项之间获得多少代码重用.

正如我所看到的,Prism有这些"部分":

  • 壳牌(Bootstrapper等)
  • 模块
  • 服务(不是网络服务)
  • 地区
  • 松耦合事件(IEventAggregator)
  • Unity(虽然这是一个独立的产品)

在我看这个时,唯一必须与Silverlight/WPF一起使用的部分是Regions.

shell可能有点棘手,但我认为它可以在ASP.NET应用程序中完成.我也认为模块(非区域提供模块)也应该可行.使用IEventAggregator和Unity应该很容易.

我唯一的问题是我在ASP.NET编程方面并不是很有经验,所以我不确定我的假设.我会喜欢一些熟悉Prism和ASP.NET的人反馈,然后再讨论这个问题(在我的公司).

基本上,我想制作将运行Web服务和业务逻辑的Prism模块.然后,我想要使用这些模块并在ASP.NET应用程序和WPF/Silverlight Prism模块(通过区域)中重新使用它们.

我是否通过尝试合并这两个系统来绘制一段艰难的旅程?

asp.net prism unity-container

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

如何在Windows Phone 7中添加Flurry Agent?

我为windows phone 7创建了一个应用程序,我想为我的应用程序添加乱序分析,然后我在App.xaml.cs文件中实现了启动会话和结束会话.现在我想为我的应用程序包含针对LogError的Flurry Agent和LogEvent?

c# windows-phone-7

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