问题列表 - 第7939页

如何编写在C#中实现给定接口的通用容器类?

上下文:.NET 3.5,VS2008.我不确定这个问题的标题,所以也可以自由评论标题:-)

这是场景:我有几个类,比如Foo和Bar,它们都实现了以下接口:

public interface IStartable
{
    void Start();
    void Stop();
}
Run Code Online (Sandbox Code Playgroud)

现在我想要一个容器类,它在构造函数中获取一个IEnumerable <IStartable>作为参数.反过来,这个类也应该实现IStartable接口:

public class StartableGroup : IStartable // this is the container class
{
    private readonly IEnumerable<IStartable> startables;

    public StartableGroup(IEnumerable<IStartable> startables)
    {
        this.startables = startables;
    }

    public void Start()
    {
        foreach (var startable in startables)
        {
            startable.Start();
        }
    }

    public void Stop()
    {
        foreach (var startable in startables)
        {
            startable.Stop();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如果不手动编写代码,并且没有代码生成,我怎么能这样做呢?换句话说,我想要像以下一样.

var arr = new IStartable[] { new Foo(), new Bar("wow") };
var mygroup = …
Run Code Online (Sandbox Code Playgroud)

c# generics reflection containers interface

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

从Java启动文件

我想从Java程序启动一个文件(文档)并分阶段满足以下要求:

  • 方法必须适用于Mac,Win和Linux系统
  • 我不允许使用"Runtime.getRuntime().exec("cmd.exe/C +"filename");
  • 我正在启动的文件需要是.doc/.docx/.rtf

该文件是在运行时创建的,是创建报告的结果.有什么好的做法?

java io launch

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

在Python中获取临时目录的跨平台方式

是否有跨平台的方式获取tempPython 2.6中的目录路径?

例如,在Linux /tmp下,在XP下C:\Documents and settings\[user]\Application settings\Temp.

python cross-platform temporary-directory

227
推荐指数
4
解决办法
9万
查看次数

20
推荐指数
6
解决办法
2847
查看次数

"找不到存储过程"

我正在维护一个拥有SQL Server 2005后端的经典ASP网站.对于一小段新功能,我编写了一个存储过程来进行插入.这是数据库中唯一的用户存储过程.

当我尝试从代码中调用存储过程时,我收到以下错误:

Microsoft OLE DB Provider for SQL Server error '80040e14' 
Could not find stored procedure 'InsertGroup'. 
/newGroup.asp, line 84 

数据库使用SQL Server身份验证.当我使用与连接字符串中相同的用户/ pw连接到Visual Studio中的数据库服务器时,存储过程不可见,但所有表都是.

用户具有datareader和datawriter角色以及对存储过程的显式执行权限.

我错过了什么?

更新:道歉,服务器管理员误以为它是2000服务器,当它实际上是2005服务器(在Windows Server 2003 x64上运行).

sql-server stored-procedures

16
推荐指数
2
解决办法
14万
查看次数

使用NHibernate加密和解密数据

我正在编写一个可公开访问的Web应用程序,其中包含个人用户数据,例如姓名和出生日期,我需要以一种对可能访问原始数据的人很难解密的形式加密这些数据.我正在使用Fluent NHibernate,mySQL和C#3.5.

  1. 我应该使用什么方法进行行业标准加密和解密用户信息?加密方法不应该依赖于数据库.

  2. 我如何告诉nHibernate使用简单的属性对某些映射类进行透明加密/解密,例如StorageType = StorageType.Encrypted.我不介意结果数据库表只有一列或两列,或者每个加密字段一列.根据我的发现,我应该从IUserDataType构造函数中创建自己的数据类型并加密数据.它是否正确?

c# mysql nhibernate

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

Visual Studio安装和部署构建失败,没有错误

我有一个设置和部署项目,在我们的构建服务器上,在摘要中报告以下内容:

==========重建全部:25成功,2失败,0跳过==========

我不知道这两个是失败的,但我相信其中一个是vdproj项目,因为如果我在没有安装程序的情况下运行构建,则根本没有报告错误."打包文件"消息与我的PC上的输出匹配,其中构建成功完成.

我确信这是一个环境问题,只是在任何地方都没有记录问题的日志 - 只是摘要中的数字.

更奇怪的是,setup.exemyapp.msi文件,似乎产生罚款.我无法弄清楚失败的项目是什么,因为没有提到失败的项目.我所知道的是,如果我构建不包括安装项目的解决方案,则摘要说没有错误.

谁能想到要检查的东西?

.net build-process setup-deployment

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

如何将pickle数据上传到django FileField?

我想在Django模型中存储用Python生成的大型数据集.我的想法是将数据pickle到字符串并将其上传到我的模型的FileField.我的django模型是:

#models.py
from django.db import models

class Data(models.Model):
    label = models.CharField(max_length=30)
    file = models.FileField(upload_to="data")
Run Code Online (Sandbox Code Playgroud)

在我的Python程序中,我想做以下事情:

import random, pickle

data_entry = Data(label="somedata")
somedata = [random.random() for i in range(10000)]
# Next line does NOT work 
#data_entry.file.save(filename, pickle.dumps(somedata))
Run Code Online (Sandbox Code Playgroud)

如何somedatafile保留使用upload_to参数定义的路径时修改要存储的最后一行?

python django upload file pickle

5
推荐指数
2
解决办法
2471
查看次数

c类中的类的getter和setter

假设我们有一个带有属性和getter/setter的类InnerClass.我们还有一个包含InnerClass的类OuterClass.

例如

class InnerClass
{
    private int m_a;
    private int m_b;

    public int M_A
    {
        get
        {
             return m_a;
        }
        set
        {
             m_a = value;
        }
     }
}

class OuterClass
{
    private InnerClass innerClass
}
Run Code Online (Sandbox Code Playgroud)

我如何为OuterClass的innerClass成员实现正确的getter和setter?

提前致谢!

c# getter setter class member

14
推荐指数
2
解决办法
7万
查看次数

在中等信任下发送GMail SMTP上的电子邮件

我需要从我的应用程序发送一封电子邮件,该电子邮件将在中等信任下运行.我当前的电子邮件发送代码在完全信任下正常工作会在中等信任下抛出SecurityException

[SecurityException: Request for the permission of type 'System.Net.Mail.SmtpPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
Run Code Online (Sandbox Code Playgroud)

检查我的machine.config和相关文件显示我的SMTP访问仅限于Connect.

<SecurityClass Name="SmtpPermission" Description="System.Net.Mail.SmtpPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
Run Code Online (Sandbox Code Playgroud)

<IPermission class="SmtpPermission" version="1" Access="Connect"/>
Run Code Online (Sandbox Code Playgroud)

根据MSDN,Connect仅允许端口25上的请求.但Gmail服务器在端口587上工作.任何解决方法?建议?

asp.net smtp medium-trust

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