在對映引擎執行對映時,可以使用多種方法之一來解析目標成員值。 其中一種方法是使用另一種型別對映,其中在對映配置中還配置了源成員型別和目標成員型別。 這使我們不僅可以平坦化我們的源型別,還可以建立複雜的目標型別。 例如,我們的源型別可能包含另乙個複雜型別:
public
class outersource
public innersource inner
}public
class innersource
}
我們可以簡單地將outersource.inner.othervalue
變成乙個innerothervalue
屬性,但是我們可能也想為inner
屬性建立乙個相應的復合型別:
public
class outerdest
public innerdest inner
}public
class innerdest
}
在這種情況下,我們需要配置額外的源/目標型別對映:
cfg.createmap
(); cfg.createmap
();});
config.assertconfigurationisvalid();
var source = new outersource
};(source);
dest.value
.shouldequal(5);
dest.inner
.shouldnotbenull();
dest.inner
.othervalue
.shouldequal(15);
這裡需要注意一些事情:
配置型別的順序並不重要
呼叫對映不需要指定任何內部型別對映,只需要為傳入的源值使用型別對映
憑藉簡化和巢狀對映,我們可以建立各種目標形狀,以滿足我們的任何需求。 AutoMapper官方文件 六 投影
public class calendarevent public string title 進入更適合網頁輸入表單的東西 public class calendareventform public int eventhour public int eventminute public string...
AutoMapper官方文件 十五 對映繼承
對映繼承有兩個功能 從基類或介面配置繼承對映配置 執行時多型對映繼承基類配置是opt in,您可以顯式指定要從包含基本型別的配置繼承的對映,也可以在包含includebase的派生型別配置中指定該對映 createmap include formember dest dest.somemember,...
cocos2d js官方文件 十 log
api改動情況,左邊為新增,右邊為原來的。cc.log 不變 cc.warn 新增 cc.error 新增 cc.assert cc.assert 此次改造有以下幾點原因 新的api的使用範例 cc.log this is a log cc.log this is a log for s cocos...