Lines Matching defs:extension

125         internal static IExtensionReflectionHelper CreateExtensionHelper(Extension extension) =>
126 (IExtensionReflectionHelper)Activator.CreateInstance(typeof(ExtensionReflectionHelper<,>).MakeGenericType(extension.TargetType, extension.GetType().GenericTypeArguments[1]), extension);
211 private readonly Extension extension;
213 public ExtensionReflectionHelper(Extension extension)
215 this.extension = extension;
222 throw new InvalidCastException("Cannot access extension on message that isn't IExtensionMessage");
227 if (extension is Extension<T1, T3>)
229 return extensionMessage.GetExtension(extension as Extension<T1, T3>);
231 else if (extension is RepeatedExtension<T1, T3>)
233 return extensionMessage.GetOrInitializeExtension(extension as RepeatedExtension<T1, T3>);
237 throw new InvalidCastException("The provided extension is not a valid extension identifier type");
245 throw new InvalidCastException("Cannot access extension on message that isn't IExtensionMessage");
250 if (extension is Extension<T1, T3>)
252 return extensionMessage.HasExtension(extension as Extension<T1, T3>);
254 else if (extension is RepeatedExtension<T1, T3>)
260 throw new InvalidCastException("The provided extension is not a valid extension identifier type");
268 throw new InvalidCastException("Cannot access extension on message that isn't IExtensionMessage");
273 if (extension is Extension<T1, T3>)
275 extensionMessage.SetExtension(extension as Extension<T1, T3>, (T3)value);
277 else if (extension is RepeatedExtension<T1, T3>)
283 throw new InvalidCastException("The provided extension is not a valid extension identifier type");
291 throw new InvalidCastException("Cannot access extension on message that isn't IExtensionMessage");
296 if (extension is Extension<T1, T3>)
298 extensionMessage.ClearExtension(extension as Extension<T1, T3>);
300 else if (extension is RepeatedExtension<T1, T3>)
302 extensionMessage.GetExtension(extension as RepeatedExtension<T1, T3>).Clear();
306 throw new InvalidCastException("The provided extension is not a valid extension identifier type");