我在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
有没有人知道如何解决这个问题?
我在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)
但这不起作用.标题中的按钮与标签旁边的左侧对齐.谁能解释我怎么做对了?
我有一个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中.
我正在使用NSubstitute.我必须伪造一个班级,不能挖出Substitute.For<...>()和的差别Substitute.ForPartsOf<...>.我已经阅读了文档,但没有明白这两点,两者的表现不同.
我正在调试一个旧的应用程序,其中 WndProc 被覆盖。我收到一条 ID=0xC1B0 的消息,这意味着根据这篇msdn 文章,这是一条系统范围内的唯一消息。
正如 microsoft 所描述的RegisterWindowMessage(...),相同的字符串参数会产生相同的消息 ID。因此,message-id 和参数之间存在唯一的链接。
我现在的问题是:如果我有消息 ID,是否有可能获取参数?如果是,这可能会帮助我找到消息的来源。
我有一个带有属性的接口:
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?
我想为泛型类创建一个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# ×6
nsubstitute ×2
wpf ×2
xaml ×2
expander ×1
generics ×1
maxlength ×1
properties ×1
sendmessage ×1
setter ×1
textbox ×1
warnings ×1
xml ×1