ReSharper 无法识别 MEF 将设置变量,并且由于无法保证 MEF 将设置变量(例如,如果它没有放入容器中),因此 ReSharper 对此发出警告是合理的. 您可以忽略它,也可以简单地将字段初始化为 null(或 default(T))。
至于是否应该使用属性或字段,我认为使用字段很好(假设它不是公共的)。我通常会为我想要公开的东西保留属性。这里要考虑的一种特殊情况是,在 SL 或部分信任等低信任场景中,私有成员上存在导入问题,因为 MEF 使用反射,而在某些场景中您不能使用私有反射。