Адрес памяти объекта в C#C#

Место общения программистов C#
Ответить
Anonymous
 Адрес памяти объекта в C#

Сообщение Anonymous »

У меня есть функция, написанная некоторое время назад (для .net 3.5), и теперь, когда я обновлен до 4.0 < /p>

Я не могу заставить ее работать. < /p>

Функция: < /p>

public static class MemoryAddress
{
public static string Get(object a)
{
GCHandle handle = GCHandle.Alloc(a, GCHandleType.Pinned);
IntPtr pointer = GCHandle.ToIntPtr(handle);
handle.Free();
return "0x" + pointer.ToString("X");
}
}
< /code>

Теперь, когда я его называю - memoryAddress.get (new Car ("blue")) < /p>

public class Car
{
public string Color;
public Car(string color)
{
Color = color;
}
}
< /code>

Я получаю ошибку: < /p>


Объект содержит непримененные или не лелевируемые данные. < /p>
< /blockquote>

Почему я больше не работает? Объекты?

Подробнее здесь: https://stackoverflow.com/questions/499 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»