я на этот раз запустить ошибкуAccessViolationException во время выполнения
внутреннее исключение «System.AccessViolationException» ==> "Попытались чтения или записи в защищенную память. Это часто указывает на то, что другие память испорчена.
и вот мой код
private AutoCompleteStringCollection GetLinqDataSourceForString(string p)
{
var c = new AutoCompleteStringCollection();
c.Add(Getauto(p));
return c;
}
private void txtSearch_TextChanged(object sender, EventArgs e)
{
txtSearch.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtSearch.AutoCompleteMode = AutoCompleteMode.Suggest;
txtSearch.AutoCompleteCustomSource = GetLinqDataSourceForString(txtSearch.Text);
}
и это один находится в другом слое, чтобы получить Информация из базы данных
public string AutoUpdate(string _search)
{
using (var context = new Phone_BookEntities1())
{
var c = (from d in context.Cantacts
where d.Cantact1.StartsWith(_search)
select d.Cantact1).SingleOrDefault();
return c;
}
}
и здесь, где произошла ошибка времени выполнения (в последней строке)
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
, а также я использовал этот метод на нем для того, чтобы ввести только текст (строка)
private void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar < '0' || e.KeyChar > '9')
e.Handled = false;
else
e.Handled = true;
}
Стеки вызовов будут полезны при отладке первопричины этого вопроса; см. http://stackoverflow.com/questions/7901530/c-sharp-error-attempted-to-read-or-write-protected-memory-or-external-compone для получения дополнительной помощи. – dash
@dash Спасибо за помощь –