小编sch*_*her的帖子

Visual Studio在vctmp文件中显示警告

我在visual studio中打开了一个C#项目.我们正在使用TFS来管理我们的项目.在项目的一个源代码文件中,我已按以下方式配置警告:

#warning expand for all properties
Run Code Online (Sandbox Code Playgroud)

编译项目时,警告会在错误列表中显示两次.一旦进入原始文件,一次进入一个名为的文件vctmp2984_94722.cs.我可以在visual studio中打开临时文件,它具有该文件的先前状态.无法在资源管理器中打开文件,导致临时文件的路径指向不存在的位置:C:\ Users\developer\AppData\Local\Temp\TFSTemp\vctmp2984_94722.cs

有没有人知道如何解决这个问题?

c# warnings visual-studio visual-studio-2015

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

WPF Expander.Header水平拉伸

我在Wpf中有一个扩展器.在标题中,我左侧对齐标签,并希望在右侧网站上有一个按钮.我使用以下XAML:

<Expander HorizontalAlignment="Stretch" IsExpanded="True">
    <Expander.Header >
        <Grid HorizontalAlignment="Stretch" Background="Aqua" Margin="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Label Grid.Column="0" Content="Label on the left site"/>
            <Button Grid.Column="1" Content="Button on the right"/>
         </Grid>
    </Expander.Header>
    <Label Content="Some Content"/>
</Expander>
Run Code Online (Sandbox Code Playgroud)

但这不起作用.标题中的按钮与标签旁边的左侧对齐.谁能解释我怎么做对了?

c# wpf xaml expander

6
推荐指数
3
解决办法
8299
查看次数

通过编码表示约束TextBox中Text的长度

我有一个TextBoxWPF.我想限制文本的长度TextBox.有一种简单的方法可以限制属性的字符数MaxLength.

在我的用例中,我需要限制文本而不是字符数,而是限制给定编码中文本的二进制表示的长度.由于德国人使用的程序有一些变音符号,它消耗两个字节.

我已经有一个方法,检查给定的字符串是否适合给定的长度:

public bool IsInLength(string text, int maxLength, Encoding encoding)
{
    return encoding.GetByteCount(text) < maxLength;
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何以某种方式将此功能绑定到文本框,用户不可能输入太多字符来超过最大字节长度.

没有EventHandler的解决方案是首选,因为TextBox位于DataTemplate中.

c# wpf xaml textbox maxlength

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

NSubstitute:Substitute.For <>和Substitute.ForPartsOf之间的区别

我正在使用NSubstitute.我必须伪造一个班级,不能挖出Substitute.For<...>()和的差别Substitute.ForPartsOf<...>.我已经阅读了文档,但没有明白这两点,两者的表现不同.

c# nsubstitute

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

获取RegisterWindowMessage注册的消息名称

我正在调试一个旧的应用程序,其中 WndProc 被覆盖。我收到一条 ID=0xC1B0 的消息,这意味着根据这篇msdn 文章,这是一条系统范围内的唯一消息。

正如 microsoft 所描述的RegisterWindowMessage(...),相同的字符串参数会产生相同的消息 ID。因此,message-id 和参数之间存在唯一的链接。

我现在的问题是:如果我有消息 ID,是否有可能获取参数?如果是,这可能会帮助我找到消息的来源。

sendmessage windows-messages

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

N替代检查是否已调用setter

我有一个带有属性的接口:

public interface Filterable<T>
{
    Filter<T> Filter { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有一个与此类似的方法:

public void SetTheFilter<T>(Filterable<T> filterable, Filter<T> filter)
{
    If (filter.IsActive)
        filterable.Filter = filter;
}
Run Code Online (Sandbox Code Playgroud)

如何在单元测试中使用NSubstitute来确保已设置过滤器。我尝试通过以下方式进行操作,但它只是测试吸气剂:

[TestMethod]
public void SetTheFilter_WhenCalledWithFilterActive_SetsTheFilterOfFilterable()
{
    var filterable = Substitute.For<Filterable<String>>();
    var filter = new StringFilter();

    SetTheFilter(filterable, filter);

    var tmp = filterable.Recieved().Filter;
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何测试,是否已经调用了setter?

c# setter properties nsubstitute

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

C#:从泛型类型名称获取XML元素名称的最佳方法

我想为泛型类创建一个xml.其中一个属性具有泛型类型.对于此属性,我不希望将属性名称用作其XML元素名称,而是使用泛型类型的名称.

这个类看起来像这样:

[XmlRoot("Entity")]
public class StoreItem<TEntity>
    where TEntity : class, new()
{
    /// <summary>
    /// Gets and sets the status of the entity when storing.
    /// </summary>
    [XmlAttribute]
    public System.Data.Services.Client.EntityStates Status { get; set; }

    /// <summary>
    /// Gets and sets the entity to be stored.
    /// </summary>
    public TEntity Entity { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在序列化某种商店项目时StoreItem<SewageArea>,XML应包含以下内容:

<Entity Status="Deleted">
    <SewageArea ...>
       ...
    </SewageArea>
<Entity>
Run Code Online (Sandbox Code Playgroud)

要求是,SewageArea上面的例子应该以"正常"方式序列化.另一个重要的事情是,如果可能的话,代码应该准备好在类中自动序列化新添加的属性StoreItem.

c# xml generics xml-serialization

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