Мне нравится создавать экземпляры моих клиентов службы WCF в блоке using
, поскольку это в значительной степени стандартный способ использования ресурсов, которые реализуют IDisposable
:
using (var client = new SomeWCFServiceClient())
{
//Do something with the client
}
Но, как
...Пользователь kokos ответил на замечательный вопрос Скрытые возможности C # , упомянув ключевое слово using
. Можете ли вы уточнить это? Каковы виды использования using
?
Я работаю над проектом. Я должен сравнить содержимое двух файлов и посмотреть, точно ли они соответствуют друг другу.
Прежде чем много проверять и проверять ошибки, мой первый черновик:
DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory + "\\TestArea\\");
FileInfo[] files = di.GetFiles(filename +
... Например, мне редко нужно:
using System.Text;
но это всегда там по умолчанию. Я предполагаю, что приложение будет использовать больше памяти, если ваш код содержит ненужные с использованием директив . Но есть ли что-то еще, что я должен знать?
Кроме того,
...Какова цель использования блока в C #? Чем он отличается от локальной переменной?
DataSet и DataTable реализуют IDisposable, поэтому, согласно общепринятым рекомендациям, я должен вызвать их методы Dispose ().
Однако из того, что я прочитал до сих пор, DataSet и DataTable на самом деле не имеют никаких неуправляемых ресурсов, поэтому Dispose () на
...Мне интересно, есть ли какие-либо причины (помимо исправления исходного кода), почему разработчики используют функцию «Удалить неиспользуемые Usings
» в Visual Studio 2008?
В соответствии с моим другим вопросом здесь об одноразовых объектах , мы должны вызвать Close () до конца использования блока?
using (SqlConnection connection = new SqlConnection())
using (SqlCommand command = new SqlCommand())
{
command.CommandText = "INSERT INTO YourMom (Amount) VALUES
... Возвращая значение метода из внутри , оператор using, который получает DataContext, кажется, всегда работает штраф , как это:
public static Transaction GetMostRecentTransaction(int singleId)
{
using (var db = new DataClasses1DataContext())
{
var transaction = (from t in db.Transactions
orderby t.WhenCreated
... Visual Studio автоматически создаст для вас операторы при создании новой страницы или проекта. Некоторые из них вы никогда не будете использовать.
Visual Studio имеет полезную функцию «удалить неиспользуемые использования».
Интересно, будет ли какое-либо отрицательное влияние на производительность программы, если операторы
...Есть ли конкретные случаи, когда я должен (или не должен? ) использовать блоки "using":
using(SomeType t = new SomeType()){
...
}
Если у меня следующая ситуация:
StreamWriter MySW = null;
try
{
Stream MyStream = new FileStream("asdf.txt");
MySW = new StreamWriter(MyStream);
MySW.Write("blah");
}
finally
{
if (MySW != null)
{
MySW.Flush();
MySW.Close();
MySW.Dispose();
}
}
Могу ли я просто позвонить MySW.Dispose()
Я написал следующий код, чтобы объяснить мою проблему. Если я прокомментирую строку 11 (с ключевым словом «using»), компилятор не скомпилирует файл и отобразит эту ошибку: invalid conversion from 'char' to 'const char*'
. Кажется, он не видит метод void action(char)
Я написал свой собственный слой данных для сохранения в определенном файле и абстрагировал его с помощью пользовательского шаблона DataContext.
Это все на основе. NET 2. 0 Framework (учитывая ограничения для целевого сервера), поэтому, хотя некоторые из них могут выглядеть как
...Использует ли перехват исключение или выбрасывает его? я. е.
using (StreamReader rdr = File.OpenText("file.txt"))
{
//do stuff
}
Если потоковый ридер генерирует исключение, перехватывается ли он с помощью или генерируется, чтобы вызывающая функция могла его обработать?
using (DbConnection conn = new DbConnection())
{
// do stuff with database
}
Будет ли блок using
вызывать conn.Close()
?
Я просто смотрю на оператор использования, я всегда знал, что он делает, но до сих пор не пытался его использовать, я придумал следующий код:
using (SqlCommand cmd =
new SqlCommand(reportDataSource,
new SqlConnection(Settings.Default.qlsdat_extensionsConnectionString)))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Year", SqlDbType.Char, 4).Value =
... Я определил функцию «с помощью» следующим образом:
def using[A, B <: {def close(): Unit}] (closeable: B) (f: B => A): A =
try { f(closeable) } finally { closeable.close() }
я могу использовать это так:
using(new PrintWriter("sample.txt")){ out =>
out.println("hellow
... Вот проблема, вы включаете несколько сборок и добавляете 'using namespaceX' вверху вашего файла кода.
Теперь вы хотите создать класс или использовать символ, который определен в нескольких пространствах имен, е. г. System.Windows.Controls.Image
& amp; System.Drawing.Image
Теперь, если вы не используете полностью
...У нас были команды Power для Visual Studio 2008, которые добавляли команду контекстного меню, которая удаляла неиспользуемые и сортированные использования для всех файлов в проекте / решении.
Как сделать то же самое в VS2010, так как этот плагин несовместим?