Хороший вводный текст на статическом анализе для открытия ошибки?

Вы можете создать универсальный метод расширения, а затем использовать его для объекта, например:

public static class Extensions
{
    public static KeyValuePair<TKey, TValue> ToKeyValuePair<TKey, TValue>(this Object obj)
    {
        // if obj is null throws exception
        Contract.Requires(obj != null);

        // gets the type of the obj parameter
        var type = obj.GetType();
        // checks if obj is of type KeyValuePair
        if (type.IsGenericType && type == typeof(KeyValuePair<TKey, TValue>))
        {

            return new KeyValuePair<TKey, TValue>(
                                                    (TKey)type.GetProperty("Key").GetValue(obj, null), 
                                                    (TValue)type.GetProperty("Value").GetValue(obj, null)
                                                 );

        }
        // if obj type does not match KeyValuePair throw exception
        throw new ArgumentException($"obj argument must be of type KeyValuePair<{typeof(TKey).FullName},{typeof(TValue).FullName}>");   
 }

, и использование будет выглядеть так:

KeyValuePair<string,long> kvp = obj.ToKeyValuePair<string,long>();
6
задан glenra 27 May 2009 в 01:17
поделиться

3 ответа

Достаточно ли вводная статья в Википедии ? В нем есть много ссылок на более подробную информацию.

Также есть подкаст на радио для разработки программного обеспечения .

Здесь , здесь и здесь - некоторые академические статьи, но их может быть труднее читать и понимать.

2
ответ дан 17 December 2019 в 02:33
поделиться

Попробуйте эту статью , в которой впервые было представлено то, что стало инструментом Microsoft Prefast . Это один из самых успешных инструментов статического анализа.

1
ответ дан 17 December 2019 в 02:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: