小编ito*_*son的帖子

"混合声明和代码"警告,是否值得解决?

我最近-pedantic在gcc上启用了选项,现在我有大约两到三页的"ISO C90禁止混合声明和代码"警告.

我在这个项目中的目标是能够在任何带有交流编译器的主流系统上部署它,所以我意识到假设C99在任何地方都得到支持是不明智的,但是它是否值得花时间来解决这些警告?

是否还有那些不支持混合声明和代码的c编译器系统?

c compiler-warnings

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

为什么我们需要设计模式

为什么我们需要像Factory,Abstract Factory和Singleton这样的设计模式?

architecture oop design-patterns

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

如何从WPF中的ComboBox获取文本值?

这可能是C#101所涵盖的内容,但我无法在谷歌或堆栈溢出的任何地方找到这个问题的易于理解的答案.有没有更好的方法从组合框中返回文本值而不使用我想出的这种糟糕的工作?

private void test_site_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    string cmbvalue = "";

    cmbvalue = this.test_site.SelectedValue.ToString();
    string[] cmbvalues = cmbvalue.Split(new char[] { ' ' });

    MessageBox.Show(cmbvalues[1]);
}
Run Code Online (Sandbox Code Playgroud)

请不要狠狠地对我说话,我现在真的只是拿起c#和OOP.

c# wpf combobox

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

如何动态调用泛型扩展方法?

我写了这个扩展方法:

public static DataTable ToDataTable<T>(this IList<T> list)
{...}
Run Code Online (Sandbox Code Playgroud)

如果在编译时使用已知类型调用它,它的效果很好:

DataTable tbl = new List<int>().ToDataTable();
Run Code Online (Sandbox Code Playgroud)

但是如果通用类型未知,如何调用呢?

object list = new List<int>();
...
tbl = Extension.ToDataTable((List<object>)list); // won't work
Run Code Online (Sandbox Code Playgroud)

c# generics extension-methods

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

如何让控件填满所有可用空间

我有一个xaml代码:

<Grid>
    <WrapPanel>
    <TextBox ></TextBox>
    <Button Content="GetIt" />
    </WrapPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得textBox的所有可用空间?

我想做那样的事情:

| [____________________] [GETIT] |

c# wpf xaml

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

WPF绑定失败性能命中率与异常

当我们绑定到异构的对象集合时,并非所有对象都具有相同的属性集.在输出窗口中,我们得到如下消息:

System.Windows.Data错误:39:BindingExpression路径错误:'对象'''MultiLineTextMarkingScheme'(HashCode = 7262386)'上找不到'RoundingFactor'属性.BindingExpression:路径= RoundingFactor; ..........

这似乎不是一个例外,但我们担心它会对性能产生影响.

我们是否应该关注并创建一个视图模型,它具有我们希望绑定的所有属性(并且具有底层元素上不存在的属性返回null)或者我们可以保留它.

这种情况经常发生在可能存在大量这些绑定失败的网格场景中.

data-binding wpf performance exception

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

拖放winforms或wpf

我想创建一个简单的winforms或wpf应用程序,我可以拖放虚拟"卡".下面这不是我想要做的,但它是我在网络上发现的最接近用户界面的东西.

http://www.greenpeppersoftware.com/confluence/plugins/advanced/gallery-slideshow.action?imageNumber=1&pageId=24870977&decorator=popup&galleryTitle=Task+board+and+transitions

所以基本上我想在GUI中有列,我可以从一个拖动到另一个.

我的问题是:

  1. 在winforms或wpf中这会更容易吗?
  2. 我从哪里开始?

wpf drag-and-drop winforms

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

如何将新的根元素添加到C#XmlDocument?

在我无法控制的情况下,我有一个XmlDocument,它具有如下结构:

<parent1>
...minor amount of data...
</parent1>
Run Code Online (Sandbox Code Playgroud)

我有另一个XmlDocument,也在我的控制之外,它具有以下结构:

<parent2>
..very large amount of data...
</parent2>
Run Code Online (Sandbox Code Playgroud)

我需要一个XmlDocument格式:

<parent1>
...minor amount of data...
<parent2>
..very large amount of data...
</parent2>
</parent1>
Run Code Online (Sandbox Code Playgroud)

我不想复制parent2.如何在不复制parent2的情况下获得所需的结构?我相信这意味着

oParent1.DocumentElement.AppendChild(oParent1.ImportNode(oParent2.DocumentElement, true));
Run Code Online (Sandbox Code Playgroud)

是不可能的.

有什么好的解决方案吗?

c# optimization xmldocument

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

这些属性在Mono.Cecil中意味着什么?

我正在使用Lokad共享库,而后者依赖于Mono.Cecil.

我有点困惑以下属性意味着什么(它们与.NET内部结构有关,因此具有等效的.NET内部结构):

  • PackingSize(它们与TypeDefinition中的类型有关).
  • Mvid(在ModuleDefinition中).
  • ExplicitThis(与我知道的this关键字有关,但在MethodDefinition中).
  • CallingConvention.
  • GetSentinel(在MethodReference中返回int的方法).
  • RVA.
  • SemanticsAttribute.
  • IsHideBySig.

知道这些意思/做什么吗?

.net mono mono.cecil

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

从基类对象列表中识别派生类型

这可能看起来像"家庭作业"和/或微不足道,但它是出于真正的商业目的; 这是我能想到解释我在概念上试图做的最简单的方法.

假设我有一个Animal类,以及其他一些类(Bird,Cat,Kangaroo).其中每一个都来自Animal.

动物可能看起来像这样:

public class Animal
{
    public Animal()
    {

    }

    public string Name { get; set; }
    public string AnimalType { get; set; }
    public List<Animal> Friends { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

袋鼠可能看起来像这样:

public class Kangaroo : Animal
{
    public Kangaroo()
    {

    }

    public int TailLengthInches { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

假设袋鼠有两个朋友,一只鸟和一只猫.我怎么能将这些添加到"动物"朋友列表(作为动物类型),但保留访问派生类属性的能力?(例如,我仍然需要能够使用特定于动物类型的属性,例如鸟类的羽毛颜色,即使它们只被视为"动物".

我试图这样做的原因是,当我后来获得动物的"朋友"列表时,我知道朋友是什么类型的动物是至关重要的.根据动物类型(无论是鸟类,猫等),我想做一些不同的事情(实际上,在ASP.NET页面上显示不同的模板,但我并不需要特别的帮助).

我想这可以归结为...如果我有一个Animal列表,我怎么知道列表中每个对象的派生类型是什么,所以我可以将它们转换回派生类型或做其他事情这允许我到达每个派生类型的特定,不同的属性?

谢谢!

c# inheritance types class derived

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