什么是展示我的全部的正确方法InnerException
.
我发现我的一些InnerExceptions有另一个InnerException
,而且非常深入.
会InnerException.ToString()
做的工作,我还是我通过需要循环InnerExceptions
,建立一个String
有StringBuilder
?
我需要在代码中设置绑定.
我似乎无法做到这一点.
这是我尝试过的:
XAML:
<TextBox Name="txtText"></TextBox>
Run Code Online (Sandbox Code Playgroud)
代码背后:
Binding myBinding = new Binding("SomeString");
myBinding.Source = ViewModel.SomeString;
myBinding.Mode = BindingMode.TwoWay;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding);
Run Code Online (Sandbox Code Playgroud)
视图模型:
public string SomeString
{
get
{
return someString;
}
set
{
someString= value;
OnPropertyChanged("SomeString");
}
}
Run Code Online (Sandbox Code Playgroud)
我设置它时,属性不会更新.
我究竟做错了什么?
我有一个List<MyClass> someList
.
class MyClass
{
public int Prop1...
public int Prop2...
public int Prop3...
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何获得一个新的唯一List<MyClass> distinctList
的List<MyClass> someList
,但它只是比较Prop2
.
有没有办法在保存所有更改之前获取对实体框架中的对象所做的所有更改.原因是我想在客户端数据库中创建一个日志表:
所以...
有没有办法在保存更改之前获取当前数据库值(旧)和新值(当前)?
如果没有,我怎么能以通用的方式实现这一点,所以我的所有View Models都可以继承?(我使用的是MVVM + M结构)
我想创建一个Generic DataGrid,用于我的所有Views/UserControls.
这是我的结构:
Class Library
叫"Core"
:
Class
叫"ViewBase"
:
public class ViewBase : UserControl
{
public ViewBase()
{
}
//Rest of Methods and Properties
}
Run Code Online (Sandbox Code Playgroud)
Class Library
叫"Controls"
:
UserControl
叫"GridView"
:
XAML:
<vb:ViewBase x:Class="Controls.GridView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vb="clr-namespace:Core;assembly=Core">
<Grid>
<DataGrid></DataGrid>
</Grid>
</vb:ViewBase>
Run Code Online (Sandbox Code Playgroud)
代码背后:
using Core;
public partial class GridView : ViewBase
{
public GridView ()
{
InitializeComponent();
}
}
Run Code Online (Sandbox Code Playgroud)
然后是名为"WPFApp"的WPF应用程序:
Class
叫"View"
:
using Controls;
public class View : GridView
{
public View() …
Run Code Online (Sandbox Code Playgroud) 我正在寻找正确的方法/结构来创建一个循环Thread/Task
...
原因是,我需要每15秒检查一次数据库以获取报告请求.
这是我到目前为止所尝试的,但我得到OutOfMemoryException
:
private void ViewBase_Loaded(object sender, RoutedEventArgs e)
{
//On my main view loaded start thread to check report requests.
Task.Factory.StartNew(() => CreateAndStartReportRequestTask());
}
private void CreateAndStartReportRequestTask()
{
bool noRequest = false;
do
{
//Starting thread to Check Report Requests And Generate Reports
//Also need the ability to Wait/Sleep when there are noRequest.
reportRequestTask = Task.Factory.StartNew(() => noRequest = CheckReportRequestsAndGenerateReports());
if (noRequest)
{
//Sleep 15sec
reportRequestTask.Wait(15000);
reportRequestTask = null;
}
else
{
if (reportRequestTask.IsCompleted)
{ …
Run Code Online (Sandbox Code Playgroud) 我正在处理客户每天30小时的情况.
这一天从早上6点开始,然后在第二天上午6点左右开始,但是当他们第二天凌晨1点到达时,他们将其视为25:00.凌晨2点将是26:00等等......
现在,我想知道,有没有办法解决这个问题,c#'s DateTime class
或者我是否需要做很长的事情并将其全部拆分?
更新:
它是澳大利亚的媒体代理商.再来一次解释,这一天从06:00 am (12 Jan 2012)
午夜开始,到了24:00.现在,当它是01:00 am (13 Jan 2012)
第二天,客户端将其视为25:00 hours (12 Jan 2012)
.
他们一天24小时都有.唯一的区别是他们的日子从早上6点开始,而不是像我们这样的00小时.
更新:
我需要使用的典型程序的XML表示.注意:删除了CHANNEL_CODE和CHANNEL_NAME.
<PROGRAMME>
<PROGRAMME_ID>1</PROGRAMME_ID>
<PROGRAMME_NAME>Mass For You At Home</PROGRAMME_NAME>
<CHANNEL_CODE>SomeCode</CHANNEL_CODE>
<CHANNEL_NAME>SomeChannel</CHANNEL_NAME>
<TX_DATE>20120101</TX_DATE>
<START_TIME>06:00</START_TIME>
<DURATION>1800</DURATION>
<AGENCY_AVAIL>C</AGENCY_AVAIL>
<SALES_AVAIL>90</SALES_AVAIL>
<SSB>N</SSB>
</PROGRAMME>
</PROGRAMME>
<PROGRAMME>
<PROGRAMME_ID>2</PROGRAMME_ID>
<PROGRAMME_NAME>Home Shopping</PROGRAMME_NAME>
<CHANNEL_CODE>SomeCode</CHANNEL_CODE>
<CHANNEL_NAME>SomeChannel</CHANNEL_NAME>
<TX_DATE>20120101</TX_DATE>
<START_TIME>26:00</START_TIME>
<DURATION>1800</DURATION>
<AGENCY_AVAIL>C</AGENCY_AVAIL>
<SALES_AVAIL>0</SALES_AVAIL>
<SSB>N</SSB>
</PROGRAMME>
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法调整DateTime
课程从06:00开始到30:00结束?
我有一个案例,我有10+ SQL script
.
我不想一个接一个地运行我的所有脚本.
有没有办法可以连续运行我的所有脚本SQL Management studio
.
我找到了这篇文章.创建批处理文件似乎更容易.
这就是你所需要的:
@echo off
ECHO %USERNAME% started the batch process at %TIME% >output.txt
for %%f in (*.sql) do (
(
sqlcmd.exe -S servername -E -d databasename -i %%f >>output.txt
)
pause
Run Code Online (Sandbox Code Playgroud)
替换servername和databasename,但似乎无法正常工作.
有任何想法吗?
我想用C#替换一个直的引号(").
我可能会遗漏一些小东西,但我无法正常得到它 string.Replace();
someWord.Replace(@""", "&");
我可以正常使用string.Replace();
还是需要使用Regex
?如果是后者,Regex
替换会是什么样子?
我有一个组连接的查询:
foreach (var item in someList)
{
var result = (from t1 in someContext.Table1
join t2 in someContext.Table2 on new { t1.SomeID, item.SomeName} equals new {t2.SomeID, t2.SomeName} into j1
...
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以按上述方式加入群组?
new { t1.SomeID, item.SomeName} equals new {t2.SomeID, t2.SomeName}
Run Code Online (Sandbox Code Playgroud)
item.SomeName
来自我正在迭代的列表.
如果没有,我将如何更改语句以获得所需的结果?
c# ×9
.net ×5
linq ×2
wpf ×2
batch-file ×1
c#-4.0 ×1
class ×1
data-binding ×1
datetime ×1
exception ×1
generics ×1
list ×1
multitasking ×1
mvvm ×1
properties ×1
regex ×1
replace ×1
sql ×1
sql-scripts ×1
sql-server ×1
string ×1
xaml ×1