小编Den*_*sky的帖子

我应该如何构建数据驱动的Win表单解决方案?

我正在编写一个正在发展并变得非常广泛的Windows Forms应用程序.

最初我认为一个单独的图形组件项目,一个用于业务逻辑,一个用于数据访问,这是最好的方法.

随着应用程序变得越来越大,我开始认为更模块化的方法会更清晰......例如,包含用户控件,业务逻辑和每个"类别"数据的数据访问的项目.

例如......与产品相关的DAL对象以及单个项目中的关联业务对象和用户控件.这应该最终解决方案中的大量项目,每个项目都是自包含的.

然而,这可能会导致更多的复杂性,因为数据经常被链接(产品表与供应商表和订单表和零件清单表等相关联)因此,很难完全抽象每个类别.

在线有数百种软件架构文章,但并不是很多,它们可以帮助您将该架构转换为解决方案,项目和代码.

有人能指出我正确的方向吗?

c# architecture winforms

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

Android中应用"资产"文件夹的路径是什么?

我正在开发一个Android应用程序,并希望在.apk中捆绑一个视频文件(mp4),这样当应用程序启动时,我可以播放一个简短的介绍视频.

不幸的是,我无法弄清楚我的项目文件夹中应放置此视频文件的位置,以及如何访问它(文件的路径).

我在用 videoView.setVideoPath();

任何帮助将不胜感激.谢谢

video android path

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

调整FastScroll警报对话框的大小

我想使用FastScroll作为我的历史列表并使用日期作为部分,但是警告对话框(显示联系人中的字母)不会延伸到适合文本的大小(我希望在月和日显示).

我怎样才能调整它?

android

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

非常简单的2D和3D图形库

我必须创建一个库,用于呈现静态,简单的形状以及一些3D效果,如旋转和斜面.形状可以包含文本或图像.与此类似的东西: 在此输入图像描述

我认为使用GDI +会很难实现,所以是否有任何符合CLS的库可以帮助我进行渲染?

PS我不能使用WPF.

.net c# 3d graphics

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

为什么Nullable <T>被PropertyInfo.SetValue特殊处理

实现类似于Nullable<T>我的结构时,发现PropertyInfo.SetValue对待Nullable类型与其他类型不同.对于Nullable属性,它可以设置基础类型的值

foo.GetType().GetProperty("NullableBool").SetValue(foo, true);
Run Code Online (Sandbox Code Playgroud)

但对于自定义类型,它会抛出

System.ArgumentException:类型为'SomeType'的对象无法转换为NullableCase.CopyOfNullable类型[SomeType]

即使所有转换运算符都与原始运算符一样被覆盖 Nullable<T>

代码重现:

   using System;

namespace NullableCase
{
    /// <summary>
    /// Copy of Nullable from .Net source code 
    /// without unrelated methodts for brevity
    /// </summary>    
    public struct CopyOfNullable<T> where T : struct
    {
        private bool hasValue;
        internal T value;

        public CopyOfNullable(T value)
        {
            this.value = value;
            this.hasValue = true;
        }

        public bool HasValue
        {            
            get
            {
                return hasValue;
            }
        }

        public T Value
        {
            get
            {
                if (!hasValue) …
Run Code Online (Sandbox Code Playgroud)

c# reflection type-conversion

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

从另一个站点重定向流时出现502错误

在我的WEB Api 2控制器中,我想从一个站点请求文件并从我的控制器返回该文件.这是代码

public HttpResponseMessage GetLecture()
{            
    HttpWebRequest request = WebRequest.CreateHttp("http://openmedia.yale.edu/cgi-bin/open_yale/media_downloader.cgi?file=/courses/spring11/phil181/mp3/phil181_01_011111.mp3");
    request.Referer = @"http://oyc.yale.edu/courses/";

    var receivedResponse = request.GetResponse();

    HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);                    
    response.Content = new StreamContent(receivedResponse.GetResponseStream());
    response.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(receivedResponse.ContentType);
    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
    response.Content.Headers.ContentDisposition.FileName = "phil181_01_011111.mp3";
    response.Content.Headers.ContentLength = receivedResponse.ContentLength;

    return response;
}
Run Code Online (Sandbox Code Playgroud)

本地它工作正常,我可以下载文件,但当我部署到Azure时,我得到502错误.Web服务器在充当网关或代理服务器时收到无效响应.

在此输入图像描述

记录显示它在返回响应后失败,因此在方法执行期间没有异常.

这是~50MB的文件.对于较小的文件代码工作正常.

如何使此代码在Azure上运行50 MB文件?

c# azure web asp.net-web-api2 azure-web-app-service

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

创建类型并在运行时初始化它

假设我Dictionary喜欢这个:

Dictionary<string, string> values = new Dictionary<string, string>()
        {
            { "Name" , "John Smith"},
            { "Age", "34"}
        };
Run Code Online (Sandbox Code Playgroud)

现在我想从该字典创建类型并在运行时使用值初始化它,以便我能够使用反射访问它的属性.

对于这个例子,我想要属性Name等于"Jon Smith"Age等于的对象34.

编辑: 我需要这个比较两个对象与语义比较库,如TestApi.由具有强类型的其他代码创建的第一个对象

class Person 
{
    public string Name {get; set;}
    public int Age { get; set;}
} 
Run Code Online (Sandbox Code Playgroud)

和其他我需要从其他来源创建像xml文件(但不是必需的).要比较的类型仅在运行时才知道.

.net c# .net-4.0

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