有没有办法按类型过滤Visual Studio Intellisense?
示例:当我使用诸如Infragistics的XamDataGrid之类的控件时,看似无穷无尽的字段,属性,事件和方法.我希望能够按类型过滤智能感知,即只显示事件.
我在JetBrains网站上找到了这些建议,但没有解决方案:
设置只读(仅获取?)属性的值首选哪种方法:使用支持字段还是使用构造函数?假设设计是针对属性而不是字段(将来,可能会有更新要求属性具有可以排除使用字段的setter).
鉴于以下简单示例,首选哪种方法?如果一个优先于另一个,为什么?
选项1(支持领域):
class SomeObject
{
// logic
}
class Foo
{
private SomeObject _myObject;
public SomeObject MyObject
{
get
{
if( _myObject == null )
{
_myObject = new SomeObject();
}
return _myObject;
}
}
public Foo()
{
// logic
}
}
Run Code Online (Sandbox Code Playgroud)
选项2(构造函数):
class SomeObject
{
// logic
}
class Foo
{
public SomeObject MyObject { get; private set; }
public Foo()
{
MyObject = new SomeObject();
// logic
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用经典ASP编写的旧内部网站点.我正在尝试检索他们登录到他们机器的用户名.每个用户都登录到AD,但我无法从服务器检索它,因为Intranet站点不使用AD.
我被告知我可以使用ActiveX来检索它.我做了一些研究,我发现了以下代码(javascript):
var wshshell = new ActiveXObject("WScript.shell");
var username = wshshell.ExpandEnvironmentalStrings("%username%");
Run Code Online (Sandbox Code Playgroud)
目前我正在使用IE8,并且在第一行上出现"自动化服务器无法创建对象"错误.
1)为什么我收到错误的任何想法?
2)鉴于我的局限,是否有更好的方法可以做到这一点?
我们使用WPF/Prism(复合应用程序库)构建了下一版本的内部胖客户端应用程序.当我们与客户差不多完成时,我们的团队被置于新的管理层之后不久:
然后我们被指示放弃Prism框架以保持简单.这包括不使用任何类型的控制反转.
我们被指示在不使用MVVM或类似的情况下构建WPF应用程序; 以及更传统的WinForm应用程序.这个想法是,如果开发人员在Visual Studio的设计器视图中看到一个控件,那么他应该能够点击控件并确切地看到它正在做什么,而不必遍历视图模型(或类似).
我们现在的任务是使用一个主窗口构建WPF应用程序,使用框架控件来包含内容,并在框架外使用功能区作为菜单项.我们提供使用帧控制的原因:
一个.我们将在Frame中显示一个带有Page(不是用户控件)的视图,然后在Frame中加载页面.
湾 当要在框架中显示新视图时,将关闭/处置当前视图(页面),并且新视图(页面)将在框架中占据一席之地.
C.当开发人员在设计视图中查看页面时,他将能够单击任何控件并查看正在完成的操作.
鉴于上述1和2的限制,我们想提出另一种构建应用程序的方法:
可以作为使用"框架方法"(上面第3项)的替代方案,但仍提供相同类型的功能.
不使用MVVM(参见上面的#1和#2).
如果我们已经给出了方向,我们可以提出任何替代方案的建议吗?我要求将答复保留在专业级别,并提前感谢您.
我有一个带有复选框字段的ListView,它可以动态获取id.
我还有一个按钮,当按下时需要检查是否有任何checbox已被检查,但我不知道如何完成.
关于如何完成这项任务的任何想法?
谢谢
这是我的代码:
<asp:ListView ID="ListView1" runat="server" DataKeyNames="Id"
DataSourceID="EntityDataSource1" EnableModelValidation="True">
<ItemTemplate>
<tr>
<td class="firstcol">
<input id='Checkbox<%# Eval("Id") %>' type="checkbox" />
</td>
</tr>
</ItemTemplate>
<LayoutTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="50" scope="col" class="firstcol">
</th>
</tr>
<tr ID="itemPlaceholder" runat="server"></tr>
</table>
<asp:Button ID="btnDownload" runat="server" Text="Download" Height="26px"
onclick="btnDownload_Click" />
</LayoutTemplate>
</asp:ListView>
protected void btnDownload_Click(object sender, EventArgs e)
{
???????
}
Run Code Online (Sandbox Code Playgroud) 我已经尝试了这两个循环,并注意到即使Task的Action委托中的常规foreach循环应该并行执行,它也不会并行处理元素.但是,如果我用Parallel.ForEach替换它,我看到数据正在跨多个线程并行处理.
代码1:
Task loadingTask1 = Factory.StartNew(() =>
{
foreach (MyOneClass dg in Queue.GetConsumingEnumerable())
{
MyOtherClass vl = new MyOtherClass();
vl.Id = dg.Id;
vl.PerformTimeConsumingAction();
OutputQueue.Add(vl);
}
});
Run Code Online (Sandbox Code Playgroud)
代码2:
Task loadingTask2 = Factory.StartNew(() =>
{
Parallel.ForEach(Queue.GetConsumingEnumerable(), (dg) =>
{
MyOtherClass vl = new MyOtherClass();
vl.Id = dg.Id;
vl.PerformTimeConsumingAction();
OutputQueue.Add(vl);
});
});
Run Code Online (Sandbox Code Playgroud)
在每次迭代时使用Console.Write语句运行的代码1似乎等待上一个循环完成,直到它抓住下一个循环,但代码2确实并行处理多个元素.
我是否正确理解Task.Action中的常规foreach?我认为.NET将启动尽可能多的任务线程作为加载保证,并且每个迭代的foreach将被并行处理.
我也尝试将PLINQ结果传递给上述代码和观察者相同的行为:常规foreach似乎等待上一次迭代完成以启动下一个代码,即使我已经使用了.AsParallel()和.WithExecutionMode(ParallelExecutionMode.ForceParallelism)指令.
任何见解都将受到高度赞赏.我知道OrderingPartitioner类,可能会尝试使用它
使用IWindowManager的Caliburn.Micro,是有可能创建一个使用一个无国界的窗口ShowWindow的方法?
在这种情况下,Window的内容是从UserControl生成的.Caliburn.Micro将创建一个Window来托管UserControl.
这是用于登录屏幕上的TextBox控件,其中TextBox包含用户名.我希望TextBox以下列方式执行:
当内容为空时,内容应设置为"用户名".
单击TextBox时,我希望将内容设置为""即; 没有(除非内容已经由用户编辑).
这是一个非常标准的功能,就像这个wordpress登录(在页面顶部).我不敢想到比这更好的例子我害怕:)
所以,无论如何,我已经使用ViewModel做了这个并且它运行良好,但是我想知道这是否可以完全来自XAML端.没有业务逻辑,所以我认为没有VM就更好.
我们有一个简单的动画,在检查和取消选中ToggleButton时运行(展开ListView的高度,然后折叠ListView的高度).如何在以下XAML中<Storyboard x:Key="CommentsCollapse">的GridConnge绑定更改时触发EventTrigger(或Animation)x:Name="DetailsGrid"?
换句话说,每当"DetailsGrid"的Binding更改时,我们都希望触发"CommentsCollapse"StoryBoard以确保ListView返回到其折叠状态.
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="400">
<Page.Resources>
<Storyboard x:Key="CommentsExpand">
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00"
Storyboard.TargetName="CommentsListView"
Storyboard.TargetProperty="(FrameworkElement.Height)">
<SplineDoubleKeyFrame KeyTime="00:00:00.200" Value="300"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="CommentsCollapse">
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00"
Storyboard.TargetName="CommentsListView"
Storyboard.TargetProperty="(FrameworkElement.Height)">
<SplineDoubleKeyFrame KeyTime="00:00:00.200" Value="75"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Page.Resources>
<Page.Triggers>
<EventTrigger RoutedEvent="ToggleButton.Checked" SourceName="CommentsToggleButton">
<BeginStoryboard Storyboard="{StaticResource CommentsExpand}"/>
</EventTrigger>
<EventTrigger RoutedEvent="ToggleButton.Unchecked" SourceName="CommentsToggleButton">
<BeginStoryboard Storyboard="{StaticResource CommentsCollapse}"/>
</EventTrigger>
</Page.Triggers>
<Grid DataContext="{Binding Path=CurrentTask.Workflow.Invoice}" x:Name="DetailsGrid">
<StackPanel Orientation="Horizontal">
<Canvas Width="428">
<GroupBox Width="422" Margin="5,0,0,0">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<ToggleButton
x:Name="CommentsToggleButton"
Width="20"
Height="10"
Margin="5,0,0,0">
<ToggleButton.Content>
<Rectangle
Width="5"
Height="5"
Fill="Red"/>
</ToggleButton.Content>
</ToggleButton>
<TextBlock Foreground="Blue" …Run Code Online (Sandbox Code Playgroud) 我有生成List<string[]>变量的代码,但无法弄清楚如何使其正确显示在文本框中.
List<string[]> test = parseCSV();
for (int i = 0; i < test.Count; i++)
{
Console.WriteLine("i = {0}",i);
Console.WriteLine("test[i] = {0}", test[i]);
nameList.Text = test[i].ToString() + "\n" + nameList.Text;
}
Run Code Online (Sandbox Code Playgroud)
当我输出test[i]到控制台时,它正确显示字符串信息,但当我输出test[i]到文本框时,我得到:
System.String[]
System.String[]
System.String[]
System.String[]
System.String[]
System.String[]
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?
c# ×5
wpf ×4
.net ×1
activex ×1
asp-classic ×1
asp.net ×1
class-design ×1
data-binding ×1
eventtrigger ×1
intellisense ×1
javascript ×1
listview ×1
properties ×1
resharper ×1
storyboard ×1
winforms ×1
xaml ×1