로버트의 대답 덕분에 결국 뭔가 효과가있었습니다. 상당히 해킹되었지만 작동하는 것처럼 보이므로 다른 사람에게 도움이 될 수 있도록 여기에 남겨 두겠습니다.
나는 다른 사람이 그것을 사용하는 것이 좋습니다 수는 없지만, 그것은 어디서부터 시작하는 사람들에게 아이디어를 줄 수 있도록이 감가 상각 이벤트 핸들러와 개인 변수를 설정하는 반사를 사용하는
참고 :
public void MediaService_Creating(IMediaService sender, NewEventArgs<IMedia> e)
{
int i = 0;
Type t = e.Entity.GetType();
FieldInfo[] fields = t.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
FieldInfo field = fields.First(x => x.Name == "_contentType");
MethodInfo findMediaTypeByAlias = ApplicationContext.Current.Services.MediaService
.GetType().GetMethod("FindMediaTypeByAlias", BindingFlags.NonPublic | BindingFlags.Instance);
IMediaType mediaType = (IMediaType)findMediaTypeByAlias.Invoke(
ApplicationContext.Current.Services.MediaService,
new object[] { Constants.Conventions.MediaTypes.Image });
field.SetValue(e.Entity, mediaType);
field = fields.First(x => x.Name == "ContentTypeBase");
field.SetValue(e.Entity, mediaType);
i = e.Entity.ContentTypeId;
}
기본을 전제는 미디어 유형이 생성되는 동안 미디어 유형을 이미지로 변경하는 것입니다. 이런 방식으로 이미지 미디어 유형에 대한 추가 속성이 추가되고 자동으로 채워집니다. 사용자 지정 미디어 유형의 속성이 이미지 미디어 유형 속성 중 하나 (예 : umbracoFile)와 별칭을 공유하면 해당 속성 값이 자동으로 채워 지므로 필요에 따라 모든 저장/저장된 이벤트 리스너에서 사용할 수 있습니다.
고마워요. 당신의 대답은 저의 길을 이끌어 냈습니다. 비록 당신이 마음에 두었던 것인지 잘 모르겠지만. –
당신이 당신의 목적지에 도착했을 때, 모든 좋은 :) –