Итак, у меня есть куча функций, которые я использую OVER AND OVER снова повсюду в случайных областях. А также некоторые геттеры и сеттеры.C# Code Injection?
Например просто вещи, как это:
public GameObject GameObjectCache
{
get
{
if (gameObjectCache == null)
gameObjectCache = this.gameObject;
return gameObjectCache;
}
}
private GameObject gameObjectCache;
public Transform TransformCache
{
get
{
if (transformCache == null)
transformCache = this.GetComponent<Transform>();
return transformCache;
}
}
private Transform transformCache;
Это для единства, если вы не можете сказать.
Что бы я хотел сделать, это взять эти функции и поместить их в другое место. Тогда в моих классах вобще как
[TransformCache]
какой-то одной линии теге, и было бы поместить функцию, из других источников, встроенный в мой класс.
Я знаю, что есть один сложный способ сделать это с Mono.Cecil, который, если у кого есть простой учебник по этому поводу, мне понравится ссылка.
Но есть ли более простой способ? Я знаю C и Objective-C, и даже CG-код имеет функции для этого. Есть ли способ сделать это на C# с легкостью?
Взгляните на PostSharp: http://www.postsharp.net/ –
Вам нужна инъекция инъекций инъекций или инъекций? Взгляните на структуру MS Unity для управления зависимостью. –
Не уверен, что MEF работает в единстве, но он будет делать то, что вы ищете. – JRLambert