Предупреждение анализа FxCop / анализа кода CA1506: AvoidExcessiveClassCoupling

Я получаю предупреждение анализа кода Visual Studio CA1506 для класса C #. В нем говорится: «FormMain связан с 93 различными (не входящими в IComponent) типами из 25 различных пространств имен. Перепишите или реорганизуйте методы этого класса, чтобы уменьшить его связь с классами, или подумайте о перемещении некоторых методов класса в некоторые другие типы, которые он тесно связано с. Связь классов выше 95 указывает на плохую ремонтопригодность, связь классов между 95 и 80 указывает на умеренную ремонтопригодность, а связь классов ниже 80 указывает на хорошую ремонтопригодность. "

Мой вопрос просто: где я могу увидеть список всех типов, с которыми связана FormMain, чтобы я мог лучше понять ситуацию?

Спасибо. Я могу получить доступ / вызвать функции C ++ из файлов Objective C / .mm но пока обратное не повезло, т.е. я не могу вызывать функции Objective C из файлов C ++, когда я попытался включить заголовок Objective C, даже системный заголовок

#import <foundation/foundation.h> 

получил около 1000+ ошибок компиляции,

что-то вроде этого

/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:180:0 /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:180: error: expected unqualified-id before '@' token


/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:182:0 /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:182: error: expected initializer before '*' token


/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:183:0 /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:183: error: 'NSString' was not declared in this scope


/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:183:0 /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:183: error: 'aSelectorName' was not declared in this scope

Мне не хватает какого-то флага предварительной компиляции и т. д. Может ли кто-нибудь предложить мне наилучший способ вызова / доступа к объектному классу C, который унаследован от NSObject, без изменения большого количества кода C ++, мне просто нужно вызвать одну функцию

Структура кода / порядок включения файлов заголовков:

Some system header file
Some Core Class Header file 

#import <foundation/foundation.h>
14
задан Amitg2k12 17 January 2011 в 15:15
поделиться