/// Conversion interface from remote type to our local GraphQL enum type
impl From<remote_crate::RemoteEnum> for LocalEnum {
fn from(e: remote_crate::RemoteEnum) -> Self {
match e {
remote_crate::RemoteEnum::A => Self::A,
remote_crate::RemoteEnum::B => Self::B,
remote_crate::RemoteEnum::C => Self::C,
}
}
}
```
该过程很繁琐,需要多个步骤才能使本地枚举和远程枚举保持同步。`Async_graphql`提供了一个方便的功能,可在派生`Enum`之后通过附加属性生成LocalEnum的`From <remote_crate::RemoteEnum>`以及相反的`From<LocalEnum> for remote_crate::RemoteEnum`: