小编pet*_* k.的帖子

VS2005"添加新项目..."对话框 - 默认项目

安装第三方SDK之后,如果其模板是Visual Studio 2005中"添加新项..."对话框中的默认项目,那么它非常无礼地生成一个.所有其他类似对话框也是如此 - "Add Class .. .","添加用户控件......"等

有没有办法改变这种行为?

ide development-environment visual-studio-2005 visual-studio

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

MVVM:提供服务以使用UI的特定部分?

让我们说在我的应用程序中,有一个用户界面来表示(地理)地图.它作为一个集成到应用程序中,UserControl并具有其背后的视图模型.

现在,假设我想为我的应用程序的其他部分提供通用服务接口,以在地图上执行常见任务(缩放,平移等),而不用担心UI细节.我可以放弃直接引用viewmodel,但我很确定我会违反关注点分离原则,更不用说它会不太可测试.

所以问题很少:

  1. 它是否有意义,并且首先实现这些服务(作为UI的中间链接)是一种好的做法?
  2. 由于服务直接在map的viewmodel上运行,它应该是实现服务接口的viewmodel本身吗?
  3. 是否适合服务接口提供事件(例如,除了提供更改地图比例的方法,还提供地图比例也发生变化的事件)?或者是否最好采用某种事件广播器(聚合器)机制将此类通知推送到服务接口之外?

在此先感谢您的帮助.

silverlight design-patterns mvvm

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

Sandcastle能否使用最新的MSDN样式生成HTML文档?

我一直在使用Sandcastle和Sandcastle帮助文件生成器,默认情况下它提供三种呈现方式:hana,prototypevs2005.

虽然vs2005风格看起来不错,但我特别喜欢最新的轻量级MSDN风格.有没有办法配置Sandcastle以便生成具有此样式的文档?

sandcastle

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

泛型语法

这是一些我似乎无法理解其工作原理的代码.我知道它使用的是泛型,但where子句中的"new"是什么意思?

public class MediaPresenter<T>
    where T : Media, new()
{
    public MediaPresenter(string mediaPath, params string[] extensions)
    {
        _mediaPath = mediaPath;
        _fileExtensions = extensions;
    }

    private void LoadMedia()
    {
        if(string.IsNullOrEmpty(_mediaPath)) return;

        _media = new ObservableCollection<Media>();
        DirectoryInfo directoryInfo = new DirectoryInfo(_mediaPath);

        foreach(string extension in _fileExtensions)
        {
            FileInfo[] pictureFiles = directoryInfo.GetFiles(
                extension,
                SearchOption.AllDirectories
                );

            foreach(FileInfo fileInfo in pictureFiles)
            {
                if(_media.Count == 50) break;

                T media = new T();
                media.SetFile(fileInfo);
                _media.Add(media);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我还不了解LoadMedia方法中如何使用T?T可以在课堂的任何地方被引用吗?

c# generics

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

编译并调用生成的方法

我设法使用CodeDom创建一个类,并向该类添加一个方法.现在,有没有办法构建CodeCompileUnit实例,编译代码并调用生成的方法?方法调用必须在与代码生成相同的上下文中完成.

.net code-generation codedom

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