问题列表 - 第7794页

C#泛型用作属性的对象列表 - 无法添加值

我是第一次尝试仿制药而且遇到了问题.

我有一个dll批量发送消息

  • 该DLL中有一个"Message"类和一个"Batch"类

  • 在批次类上,我有一些公共属性

  • 批处理类的公共属性是一个名为"Messages"的属性,它是"Message"类的列表,如下所示:

     public List<Message> Messages {get;set;}
    
    Run Code Online (Sandbox Code Playgroud)

方法1

然后我有一个测试exe,我想在"Batch"类上设置属性,如下所示:

Batch myBatch = new Batch()
myBatch.Messages.Add(
  new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我得到:

"你调用的对象是空的."

方法2

玩了一下后,我看到我可以在测试exe中成功完成以下操作:

List<MyNameSpace.Message> myMessages = new List<MyNameSpace.Message>();
myBatch.Messages.Add(
 new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
myBatch.Messages = myMessages;
Run Code Online (Sandbox Code Playgroud)

我想让它以第一种方式工作,因为其他程序员将使用dll,并且使用第一种方法似乎更直观.

为了让第一种方法起作用,我错过了什么?

c# generics properties

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

是否值得努力编写与浏览器一起使用的测试(如使用selenium或其他东西)?

为服务器端的内容编写测试非常值得,但我听说为UI内容编写单元测试真的很难,而且它们很脆弱且不可靠.我希望更有信心,我所做的更改不会破坏我网站上导入页面的主要部分.

有什么想法或经历吗?

selenium unit-testing

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

为什么这个演员不可能?

interface IFolderOrItem<TFolderOrItem> where TFolderOrItem : FolderOrItem {}

abstract class FolderOrItem {}

class Folder : FolderOrItem {}

abstract class Item : FolderOrItem {}

class Document : Item {}
Run Code Online (Sandbox Code Playgroud)

现在我想这样做:

class Something
{
    IFolderItemOrItem<Item> SelectedItem { get; set; }
    void SomeMagicMethod()
    {
        this.SelectedItem = (IFolderOrItem<Item>)GetMagicDocument();
        // bad bad bad ... ??
    }
    IFolderOrItem<Document> GetMagicDocument()
    {
        return someMagicDocument; // which is of type IFolderOrItem<Document>
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有可能让这个工作?

c# oop generics

4
推荐指数
2
解决办法
3515
查看次数

url的正则表达式

可能重复:
检查字符串是否为有效URL的最佳正则表达式是什么?

没有网址的正则表达式是什么http://www.?当用户输入uri名称时,我想验证它是否是uri

regex dns url

28
推荐指数
0
解决办法
8万
查看次数

没有单身的Java

仅仅是出于介入:如果静态变量被排除在外,你认为Java会成为一种更好的语言吗?有效地用单身人士取代单身人士吗?这里定义.

如果您这么认为:您能详细说明将其包含在语言中的动机是什么?

java design-patterns

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

捕获KeyValuePair数组中的传入参数值

我想知道如何在数组中获取我的方法的传入参数.或者只是动态检索我的参数值.

意思是,一个叫:

MyMethod(10, "eleven");
Run Code Online (Sandbox Code Playgroud)

方法:

void MyMethod(int Test, str Test2) {}
Run Code Online (Sandbox Code Playgroud)

会在数组中解析如下:

{{"Test" => 10}, {"Test2", "eleven"}}
Run Code Online (Sandbox Code Playgroud)

如果我能用反射实现这一目标会更好.以某种方式使用StackTrace.

c# reflection arguments

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

Gridview行编辑 - 动态绑定到DropDownList

我正在尝试让ASP.NET 3.5 GridView在显示时将所选值显示为字符串,并显示DropDownList以允许我在编辑时从给定的选项列表中选择一个值.看起来很简单?

我的gridview看起来像这样(简化):

<asp:GridView ID="grvSecondaryLocations" runat="server" 
              DataKeyNames="ID" OnInit="grvSecondaryLocations_Init" 
              OnRowCommand="grvSecondaryLocations_RowCommand" 
              OnRowCancelingEdit="grvSecondaryLocations_RowCancelingEdit"
              OnRowDeleting="grvSecondaryLocations_RowDeleting"
              OnRowEditing="grvSecondaryLocations_RowEditing" 
              OnRowUpdating="grvSecondaryLocations_RowUpdating"  >
<Columns>
    <asp:TemplateField>
         <ItemTemplate>
              <asp:Label ID="lblPbxTypeCaption" runat="server" 
                                 Text='<%# Eval("PBXTypeCaptionValue") %>' />
         </ItemTemplate>
         <EditItemTemplate>
                      <asp:DropDownList ID="ddlPBXTypeNS" runat="server" 
                               Width="200px" 
                               DataTextField="CaptionValue" 
                               DataValueField="OID" />
         </EditItemTemplate>
    </asp:TemplateField>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

不处于编辑模式时,网格显示OK - 所选PBX类型在asp:Label控件中显示其值.这并不奇怪.

我将DropDownList的值列表加载到窗体事件中调用的本地成员_pbxTypesOnLoad.我验证了这一点 - 它有效,值得存在.

现在我的挑战是:当网格进入特定行的编辑模式时,我需要绑定存储在其中的PBX列表_pbxTypes.

很简单,我想 - 只需抓住RowEditing事件中的下拉列表对象并附加列表:

protected void grvSecondaryLocations_RowEditing(object sender, GridViewEditEventArgs e)
{
    grvSecondaryLocations.EditIndex = e.NewEditIndex;

    GridViewRow editingRow = grvSecondaryLocations.Rows[e.NewEditIndex];

    DropDownList ddlPbx = (editingRow.FindControl("ddlPBXTypeNS") as DropDownList);
    if (ddlPbx != null)
    { …
Run Code Online (Sandbox Code Playgroud)

asp.net gridview dynamic-binding drop-down-menu

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

将onClick事件附加到Rails的link_to_function

如何附加onclick事件,link_to_function以便单击事件刷新页面上的元素(使用partials)?

当用户单击生成的链接时,我想刷新包含代码的部分,以便i更新.

 def add_step_link(form_builder)
    logger.info 'ADD_STEP_LINK'
    link_to_function 'add a step' do |page|
      form_builder.fields_for :steps, Step.new, :child_index => 'NEW_RECORD' do |f|
        logger.info 'inserted js'
        html = render(:partial => 'step', :locals => { :step_form => f, :i=>@i+=1})
        page << "$('steps').insert({ bottom: '#{escape_javascript(html)}'.replace(/NEW_RECORD/g, new Date().getTime()) });"
      end
    end
  end 
Run Code Online (Sandbox Code Playgroud)

我有一个更大的形式,只包含:

<%= add_step_link(technique_form) %>
Run Code Online (Sandbox Code Playgroud)

我正在尝试跟踪技术中的步骤数.在我创建的表单中,用户可以向一组指令添加新步骤.现在,我有步骤1-7的默认字段.添加一步,让您步骤8.问题是后续步骤也编号为'8'.

为了我自己的目的,我正在http://railsforum.com/viewtopic.php?id=28447中扩展"动态形式的多个子模型"教程.

prototype ruby-on-rails onclick form-for link-to-function

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

托管代码是否应该返回错误或将异常抛给非托管代码?

我将使用COM将使用C#编写的服务公开给传统的C++应用程序.向非托管客户端报告错误的最佳方法是什么?抛出异常或只返回错误值?

谢谢,斯特凡诺

c# c++ com exception

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

防止繁重的进程在交换文件中下沉

我们的服务往往在客户服务器的夜晚入睡,然后很难醒来.似乎发生的事情是进程堆(有时几百MB)被移动到交换文件中.这种情况发生在晚上,当我们的服务没有使用时,其他人计划运行(数据库备份,AV扫描等).发生这种情况时,在几小时不活动后,对服务的第一次呼叫需要几分钟(随后的呼叫需要几秒钟).

我很确定这是一个虚拟内存管理问题,我真的很讨厌强迫操作系统将我们的服务保留在物理内存中.我知道这样做会损害服务器上的其他进程,并降低整体服务器吞吐量.话虽如此,我们的客户只是想让我们的应用程序响应.他们不关心夜间工作需要更长时间.

我依旧记得有一种方法可以强制Windows将页面保留在物理内存中,但我真的很讨厌这个想法.我更倾向于一些内部或外部监视器,它将启动更高级别的功能(已经有一些内部调度程序做得很少,没有任何区别).如果有第三方工具提供的那种服务本来就一样好.

我很想听到有关此类问题的任何意见,建议和常见解决方案.该服务使用VC2005编写,可在Windows服务器上运行.

windows performance pagefile virtual-memory

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