Я новичок в C#/Asp.net World, Недавно я наткнулся на #if DEBUG PreProcessor, но даже после просмотра сообщений на Stack Over flow и веб-сайте MSDN и других блогах, а также я не способный заставить его работать.#if PreProcessor in C#
Я создаю небольшой сайт. Я реализую DataLayer, добавив новый проект в решение. В Datalayer я проверяю параметры, переданные в хранимую процедуру.
Итак, цель - напечатать параметры, переданные при запуске приложения в режиме отладки, и когда приложение запускается в режиме выпуска, оно не должно показывать параметры.
Любая помощь может быть оценена.
Благодаря
#define DEBUG
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TestWebsite.DataLayer.BussinessObjects;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
using System.Data.Common;
namespace TestWebsite.DataLayer
{
public class StatesManager
{
public ICollection<States> getAll(States statesObj)
{
List<object> parameters = new List<object>();
List<States> scol = new List<States>();
try
{
parameters.Add(statesObj.State);
parameters.Add(statesObj.Abbreviation);
parameters.Add(statesObj.StartRowIndex);
parameters.Add(statesObj.MaximumRowsCount);
parameters.Add(statesObj.SortExpression);
parameters.Add(statesObj.SortDirection);
#if DEBUG
System.Web.HttpContext.Current.Response.Write("State =" + statesObj.State + ",<br/>");
System.Web.HttpContext.Current.Response.Write("Abbreviation =" + statesObj.Abbreviation + ",<br/>");
System.Web.HttpContext.Current.Response.Write("StartRowIndex =" + statesObj.StartRowIndex.ToString() + ",<br/>");
System.Web.HttpContext.Current.Response.Write("MaximumRowsCount =" + statesObj.MaximumRowsCount.ToString() + ",<br/>");
System.Web.HttpContext.Current.Response.Write("SortExpression =" + statesObj.SortExpression + ",<br/>");
System.Web.HttpContext.Current.Response.Write("SortDirection =" + statesObj.SortDirection.ToString() + "<br/>");
#endif
object[] paramArray = parameters.ToArray();
SqlDatabase db = new SqlDatabase(ConnectionManager.ConnectionString);
DbCommand dbCommand = db.GetStoredProcCommand("GetAllStates", paramArray);
IDataReader reader = db.ExecuteReader(dbCommand);
while (reader.Read())
{
States sreader = new States();
sreader.State = (string)reader[reader.GetOrdinal("State")];
sreader.Abbreviation = (string)reader[reader.GetOrdinal("Abbreviation")];
sreader.IsActive = (bool)reader[reader.GetOrdinal("IsActive")];
sreader.RowNumber = (long)reader[reader.GetOrdinal("RowNo")];
sreader.StateID = (int)reader[reader.GetOrdinal("StateID")];
scol.Add(sreader);
sreader = null;
}
reader.Dispose();
}
catch (Exception ex)
{
throw ex;
}
finally { parameters = null; }
return scol;
}
}
}
Пожалуйста, покажите нам свой код, особенно фрагмент препроцессора. – 2010-12-08 16:49:11
Покажите нам код, чтобы мы могли видеть, что «не работает». – 2010-12-08 16:49:41
Является ли ваш Shift ключ немного биполярным сегодня из всего, что C# кодирования? – BoltClock 2010-12-08 16:51:54