今天給Outlook做了一個根據郵件的Subjects移動郵件到指定文件夾的小東西。
剛開始使用C#,對於很多東西也是現用現學,再寫自己的Outlook類的時候直接使用了VS自動生成的一些代碼(類聲明),結果編譯的時候除了問題:
Error 1 Inconsistent accessibility: property type 'MoveMailBasedOnName.Outlook' is less accessible than property 'MoveMailBasedOnName.SettingForm.MyOutlook'
這裏面Outlook 類沒有修改訪問級別,使用的事默認訪問。而在SettingForm中用於要在MainForm中訪問SettingForm中的myOutlook屬性,就設置了
privrate Outlook myOutlook = null;
public Outlook MyOutllok
{
get{ return myOutlook; }
}
這也就是導致編譯出錯的罪魁禍首,因爲Outlook類的默認訪問級別爲protect,所以低於設置get property時的public。所以出錯。
所以修改方法也很簡單,只需要將Outlook類的訪問級別設置爲public就可以了。