问题列表 - 第19654页

C#公共类别别名?

我想要做的是在一个新的命名空间中用C#编写一些类,它们充当另一个命名空间中的类的包装类.有时候不需要包装类,但我仍然想在新的命名空间中使用相应的类.我想要一个完整的课程副本.有没有办法通过引用另一个类的定义在新命名空间中定义类?换句话说,我想要一个别名.

为了阐明我的意思,如果现有的命名空间名为"Namespace1",而新的命名空间命名为"Namespace2",则在Namespace2中使用如下代码:

using Class1 = Namespace1.Class1;
Run Code Online (Sandbox Code Playgroud)

不会起作用,因为Namespace2.Class1不存在.Class1只对Namespace2设置为"private",而对Namespace2设置为"public".如果我可以Namepsace2.Class1从命名空间外部使用,如果仍然可以参考Namespace1.Class1,那么这就是我想要的.

我想可能有一种方法可以通过属性或反射实现这一点.如果有一些预处理器指令或宏可以复制代码也可以工作,但显然C#没有这样的东西.

.net c#

6
推荐指数
2
解决办法
3279
查看次数

在Hibernate上更新分离对象的某些字段的最佳方法?

我想知道在Java上使用HB更新一个脱离对象的某些字段的最佳方法是什么.特别是当对象具有子对象属性时.例如(删除注释并减少字段数以减少噪音):

public class Parent {
   int id;
   String field2;
   ...
   Child child;
}

public class Child {
   int id;
   String field3;
} 
Run Code Online (Sandbox Code Playgroud)

在MVC webapp中更新Parent时,我可以使用Session.get(Parent.class,123)调用父实例,使用它来填充表单并显示它.没有DTO,只有被释放的父级传递给视图并绑定到表单.现在,我只想让用户更新父级的field2属性.因此,当用户发布表单时,我得到一个父实例,其中id和field2已填充(我认为mvc框架在这里不重要,绑定时所有行为大致相同).
现在,哪种策略最适合执行实体更新?我可以考虑一些替代方案,但我想听听专家:)(请记住,我不想放松父实例和子实例之间的关系)

A)再次从Session中重新获取Parent实例,并手动替换更新的字段

Parent pojoParent; //binded with the data of the Form.
Parent entity = Session.get(Parent.class,pojoParent.getId());
entity.setField2(pojoParent.getField2()).          
Run Code Online (Sandbox Code Playgroud)

我经常使用它.但pojoParent似乎被用作卧底DTO.如果要更新的字段数量变大,那也很糟糕.

B)将Child存储在某处(httpSession?)并将其关联到后者.

Parent parent = Session.get(Parent.class,123);
//bind the retrieved parent to the form
// store the Child from parent.getChild() on the httpSession
...
//when the users submits the form...
pojoParent.setChild(someHttpSessionContext.getAttribute('Child'))
Session.save(pojoParent);
Run Code Online (Sandbox Code Playgroud)

我认为这是垃圾,但我在一些项目中看到了......

C)将Parent和Child之间的关系设置为不可变.在关系上使用 …

java orm hibernate

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

如何通过HTML表单将XML发布到服务器?

我必须将我的HTML表单中的数据以xml格式发布到服务器,例如:

<some_parameters>
    <firstname>Homer</firstname>
    <lastname>Simpson</lastname>
    <street>74 Evergreen Tr.</street>
</some_parameters>
Run Code Online (Sandbox Code Playgroud)

我所知道的是它涉及在不同域上运行的CRM应用程序之一.现在我不确定最好的方法是什么.

我想在用户提交表单时只是在表单中包装字段的值.因此,如果用户在"firstname"字段中键入"Homer"并单击"提交",我的JS会将字段的值更改为<firstname>Homer</firstname>然后发布数据.

如果它有助于我在客户端使用jQuery.我认为必须有更好的方法,因为我的解决方案会破坏JS禁用并且看起来有点狡猾,所以如果你能指出我正确的方向,那将是非常棒的.

html xml forms jquery

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

触发器与非规范化存储过程的优缺点

当涉及在事务数据库中对数据进行非规范化以提高性能时,存在(至少)三种不同的方法:

  1. 通过存储过程推送更新,存储过程更新规范化的事务数据和非规范化的报告/分析数据;

  2. 在更新辅助表的事务表上实现触发器; 这几乎总是维持历史时所采取的路线;

  3. 将处理推迟到夜间批处理过程,可能将ETL放入数据集市/仓库.

让我们假设为了这个问题的目的,选项#3是不可行的,因为域要求非规范化数据始终与规范化数据一致.我经常处理的分层聚合就是其中的一个例子.

我已经使用了前两种方法中的两种方法,最近我一直倾向于基于触发器的方法,但我想知道是否有任何"陷阱"我尚未发现,并认为它值得问这个问题所以我在将来作出长期决定时会记住一些想法.

那么根据您的经验,这两种工具的优缺点是什么,以保持实时非规范化数据的特定目的?在什么情况下你会选择一个而不是另一个,为什么?

(PS请不要回答"触发器过于复杂"或"所有更新应始终通过存储过程" - 使其适合问题的上下文.)

database triggers stored-procedures denormalization sql-server-2008

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

使用数据模板(WPF)在ListBox中内联编辑TextBlock

使用WPF,我有ListBox一个DataTemplate内部控件.相关的XAML代码如下所示:

<ListBox Name="_todoList" Grid.Row="1" BorderThickness="2"
     Drop="todoList_Drop" AllowDrop="True"
     HorizontalContentAlignment="Stretch"
     ScrollViewer.HorizontalScrollBarVisibility="Disabled"                 
     AlternationCount="2">
     <ListBox.ItemTemplate>
         <DataTemplate>
             <Grid Margin="4">
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="Auto" />
                     <ColumnDefinition Width="*" />
                 </Grid.ColumnDefinitions>
                 <CheckBox Grid.Column="0" Checked="CheckBox_Check" />
                 <TextBlock Name="descriptionBlock"
                            Grid.Column="1"
                            Text="{Binding Description}"
                            Cursor="Hand" FontSize="14"
                            ToolTip="{Binding Description}"
                            MouseDown="TextBlock_MouseDown" />                      
             </Grid>
         </DataTemplate>
     </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

我想要做的是TextBlock对(双)点击做出响应,将其变成一个TextBox.然后,用户可以编辑描述,然后按返回或更改焦点进行更改.

我尝试TextBox在与TextBlock相同的位置添加一个元素并使其可见Collapsed,但我不知道TextBox当用户点击一个元素时如何向右导航TextBlock.也就是说,我知道用户点击了一定的TextBlock,现在 TextBox我说明了什么?

任何帮助将非常感激,

-Ko9

c# wpf xaml listbox datatemplate

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

Java exec()不返回管道连接命令的预期结果

我正在调用通过管道连接的命令行程序.所有这些都可以在Linux上运行.

我的方法:

protected String execCommand(String command) throws IOException {
    String line = null;
    if (command.length() > 0) {
        Process child = Runtime.getRuntime().exec(command);
        InputStream lsOut = child.getInputStream();
        InputStreamReader r = new InputStreamReader(lsOut);
        BufferedReader in = new BufferedReader(r);

        String readline = null;
        while ((readline = in.readLine()) != null) {
            line = line + readline;
        }
    }

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

如果我正在调用一些猫文件| grep asd,我得到了预期的结果.但并非所有命令都能正常工作.例如:

cat /proc/cpuinfo | wc -l
Run Code Online (Sandbox Code Playgroud)

或这个:

cat /proc/cpuinfo | grep "model name" | head -n 1 | awk …
Run Code Online (Sandbox Code Playgroud)

java linux bash awk command-line

6
推荐指数
2
解决办法
8924
查看次数

如何测试一个空的generic.dictionary集合?

如何测试通用字典对象以查看它是否为空?我想运行一些代码如下:

while (reportGraphs.MoveNext())
{
    reportGraph = (ReportGraph)reportGraphs.Current.Value;
    report.ContainsGraphs = true;
    break;
}
Run Code Online (Sandbox Code Playgroud)

reportGraph对象的类型为System.Collections.Generic.Dictionary当运行此代码时,reportGraphs字典为空,MoveNext()立即抛出NullReferenceException.如果有更高效的处理空集合的方法,我不想在块周围放置try-catch.

谢谢.

c# generics collections nullreferenceexception

12
推荐指数
2
解决办法
3万
查看次数

如何为成员使用非默认构造函数?

我有两节课

class a {
    public:
        a(int i);
};

class b {
    public:
        b(); //Gives me an error here, because it tries to find constructor a::a()
        a aInstance;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到它以便aInstance用(int i)实例化而不是试图搜索默认构造函数?基本上,我想从b的构造函数中控制对构造函数的调用.

c++ constructor default class member

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

如何在窗口中找到GTK小部件的绝对位置?

我可以使用GTK"分配"功能,但只提供相对于其父级的位置.如何在窗口中找到GTK小部件的绝对位置?

即,如果小部件出现500像素,300像素向下,但嵌套在各种hbox和表中,我们如何发现它在500x300像素位置?

我需要让一个窗口出现在另一个小部件下的确切位置.

谢谢

gtk

10
推荐指数
2
解决办法
7262
查看次数

组合逻辑设计问题,对于要声明的输入意味着什么

问题是:考虑一个4输入布尔函数,只要它的两个输入被断言,它就被断言,构造它的真值表,然后是问题的其他部分.

我不想要一个我想自己解决这个问题的答案,我只想知道断言的含义以及如何从真值表开始.任何帮助表示赞赏.

logic

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