我正在构建一个需要修改配置文件的应用程序。
我的问题是我无法逐行读取文件。我一直把整个文件作为一个字符串。
string ConfigTemplate = AEBuildsSPFolderName + "\\Template_BuildReleaseScript.Config";
string[] fileSourceLines = File.ReadAllLines(ConfigTemplate, Encoding.Default);
//Returns the entire file contents into the first array element.
using (StreamReader reader = new StreamReader(ConfigTemplate))
{
string line;
while ((line = reader.ReadLine()) != null)
//Returns the entire file contents into the first line read.
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
谢谢,
大卫
这可能是一个惰性请求,但是有没有办法同时生成多个类属性?目前,我有一个很大的未定义属性列表,我可以简单地逐个浏览列表,并生成一个属性 - 但最好突出显示它们并为每个生成一个,下面的示例说明...
你可以在这里看到prop1,prop2...等有错误,因为属性还不存在,但你可以用resharper生成一个属性...
然而,这似乎是一次一个,我想知道我是否错过了一个设置?
我到目前为止:
// Update status history if the current work flow item has a status
int workflowID = Convert.ToInt32(statusCode.SelectedValue);
string status = "select status from jm_accountworkflowdetail where workid = @workID";
SqlConnection sqlConnection2 = new SqlConnection(sqlDevelopment.ConnectionString);
SqlCommand sqlComm2 = new SqlCommand(status, sqlConnection2);
sqlComm2.Parameters.AddWithValue("@workID", workflowID);
Run Code Online (Sandbox Code Playgroud)
查询将返回一个值('SOC','POS')或(''),表示它没有附加状态.
我需要做的是,如果状态不为空,则执行其他一些代码.但我不知道如何执行所有操作只是为了检查状态是否有值.
我有转发器.我想要显示并隐藏条件,我使用下面的代码来做到这一点:
我的HTML代码是:
<table cellpadding="0" cellspacing="0">
<tr valign="top" class="list_heading">
<td width="50%">
Column
</td>
<td width="20%">
Operation
</td>
<td width="19%" style="display: none;">
And/Or
</td>
<td width="20%">
Value
</td>
<td width="20%" id="tdvalue2Header" visible="false" runat="server">
Value2
</td>
<td width="10%">
Remove
</td>
</tr>
<tbody>
<asp:Repeater ID="rpSearchItems" runat="server" OnItemDataBound="rpSearchItems_ItemDataBound">
<ItemTemplate>
<tr>
<td style="display: none;">
</td>
<td>
<%# Eval("DisplayName") %>
</td>
<td>
<%# Eval("Operation") %>
</td>
<td style="display: none;">
<%# Eval("AndOr") %>
</td>
<td>
<%# Eval("Value") %>
</td>
<td id="tdValue2" runat="server">
<%# Eval("Value2") %>
</td> …Run Code Online (Sandbox Code Playgroud) 我有一个SSIS包,从特定目录加载csv文件,使用表达式和通配符来获取所有文件.
目前,FileSpec容器的容器会查找具有以下格式的所有文件:
fileName_environment_*
这工作正常.第二组文件现在从同一目录加载,为了区分这些文件,文件格式为:
fileName_environment_business_*
因此,第二个SSIS包只选择新文件,因为文件的结构如下所示:
filename_environment_abc
filename_environment_def
filename_environment_xyz
filename_environment_business_abc
filename_environment_business_def
filename_environment_business_xyz
Run Code Online (Sandbox Code Playgroud)
但第一个包将处理所有文件.
所以,问题是,我可以设置FileSpec第一个SSIS包来忽略格式为的文件:
fileName_environment_business_*
一切正常,直到我实现供应商.
然后,当我清理缓存时,我收到以下错误:
PHP致命错误: 在/ var/app/ondeck/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBundle/Command/Proxy/CollectionRegionDoctrineCommand中找不到类 'Doctrine\ORM\Tools\Console\Command\ClearCache\CollectionRegionCommand'.第29行的PHP
我有一个针对数据库运行的查询,我可以看到有一个31/05/2013的记录.当我使用ADO.NET从C#运行此查询,然后使用以下代码时,我错过了31/05/2013的记录
var timeSeriesList = new List<TimeSeries>();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
timeSeriesList = reader.Cast<IDataRecord>()
.Select(r => new TimeSeries
{
MidRate = (double)r["MidRate"],
RiskFactorName = (string)r["RiskFactorName"],
SeriesDate = (DateTime)r["SeriesDate"]
}).ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我对此代码使用相同的查询:
var timeSeriesList = new List<TimeSeries>();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var timeSeries = new TimeSeries
{
MidRate = (double)reader["MidRate"],
RiskFactorName = (string)reader["RiskFactorName"],
SeriesDate = (DateTime)reader["SeriesDate"]
};
timeSeriesList.Add(timeSeries);
}
}
Run Code Online (Sandbox Code Playgroud)
...然后2013年5月31日的记录在集合中 - 为什么第一个代码块会给出这个结果?
我有两种方法如下:
internal static SqlDataReader SelectData(string sql)
{
using (var sqlConnection = new SqlConnection(Constant.ConnectionString))
{
sqlConnection.Open();
var sqlCommand = new SqlCommand(sql, sqlConnection);
var dataReader = sqlCommand.ExecuteReader();
return dataReader;
}
}
Run Code Online (Sandbox Code Playgroud)
============
并使用此方法:
var dataReader = SelectData(---some sql ---);
private void AddData(dataReader)
{
while (dataReader.Read())
{
Employee e = new Employee();
e.FirstNamei = dataReader["Name"].ToString();
}
dataReader.Close();
}
Run Code Online (Sandbox Code Playgroud)
我知道我们可以合并这两种方法,但我正在寻找更好的方法来写这个,或者这可能会导致一些问题?
我有一个接受多个集合的类,然后需要按特定顺序对这些集合执行计算.例如
public class ClassCalc
{
public ClassCalc(double varEm,
List<List<double>> col1,
List<List<double>> col2)
{
//set fields etc.
}
public void CalcCols(){
//here, I will 'zip' col1/col2 to create List<double> for each
}
public void CalcStep2(){
//this is dependent on the results from CalcCols()
}
public void CalcNonDependent(){
//this can be called at any stage
}
}
Run Code Online (Sandbox Code Playgroud)
构造函数强制客户端提供相关数据,所以有一个明显的方法可以做到这一点,通过调用方法constructor,这样,我知道一切都将被填充.但是,这似乎不是一个干净的解决方案,特别是当我想要对代码的部分单元进行单元测试时.
如果我想进行单元测试CalcNonDependent(),我需要完全初始化对象,当我甚至可能不需要其他两个计算的结果时.
所以,我的问题是,是否存在可用于此特定场景的模式; 我看过Chain of Responsibility&Command Pattern,但想知道是否有人有任何建议
我有一个Web API,看起来像以下......
public class LeaguesController : ApiController
{
//api/Leagues/active/1
//api/Leagues/complete/1
//api/Leagues/both/1
[GET("api/Leagues/{type}/{id}")]
public List<Competition> Get([FromUri]int id,
[FromUri]CompetitionManager.MiniLeagueType type)
{
return CompetitionManager.GetUsersMiniLeagues(id, true, type);
}
//api/Leagues/GetMiniLeagueTable/3
[GET("api/Leagues/GetMiniLeagueTable/{id}")]
public List<SportTableRow> GetMiniLeagueTable([FromUri]int id)
{
return SportManager.GetMiniLeagueTable("", id).TableRows;
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用第一种方法时Get,这很好用.当我使用fiddler或Chrome REST Client调用第二种方法时GetMiniLeagueTable,我收到以下错误:
{消息:"请求无效." MessageDetail:"参数字典包含参数'type'的非可为空类型'CompetitionManager + MiniLeagueType'的空条目,方法'System.Collections.Generic.List`1 [竞争] Get(Int32,MiniLeagueType)''LeaguesController '.可选参数必须是引用类型,可以为空的类型,或者声明为可选参数." }
我AttributeRouting用来装饰方法,但这似乎不起作用.在我介绍之前它工作正常MiniLeagueType.
有人遇到过这个问题,还是你能指出我哪里出错了?