Как вызвать Visual basic property getter с аргументами в решениях C#
Всем привет,
Давным-давно я написал длинный проект Visual Basic, где класс имеет несколько свойств с несколькими аргументами.
Теперь я должен реализовать этот проект в существующем решении, написанном на C#. Единственный способ, который я нашел, чтобы вызвать эти свойства getter/setter, - это отражение.
Ты знаешь другой способ?
Что я уже пробовал:
VB Public Class Manager Public Property Message() As String Get Return Message(Nothing, Nothing) End Get Set(value as String) Message(Nothing, Nothing) = value End Set End Property Public Property Message(useSQLInfo As Boolean?) As String Get Return Message(useSQLInfo, Nothing) End Get Set(value as String) Message(useSQLInfo, Nothing) = value End Set End Property Public Property Message(useSQLInfo As Boolean?, manageRN As Boolean?) As String Get [...] End Get Set(value as String) [...] End Set End Property End Class
C# class Foo { Manager manager = CreateManager(); [...] void SaveExchange([...]) { if (manager != null) { string managerMessage = ManagerGetMessage(manager, true, null); [...] } } private static MethodInfo mgmMethodInfo = null; string ManagerGetMessage(Manager manager, bool? useSQLInfo, bool? manageRN) { if (mgmMethodInfo == null) mgmMethodInfo = manager.GetType().GetProperty("Message", typeof(string), new Type[] { typeof(bool?), typeof(bool?) } ).GetGetMethod(); return mgmMethodInfo.Invoke(manager, new object[] { useSQLInfo, manageRN} ); } }
Если кто-то знает, что другой метод хорошо принят.
Спасибо
Лусио
Graeme_Grant
Вы пытаетесь использовать оба VB &C# в одной и той же скомпилированной DLL/EXE или каждый из них находится в своей собственной DLL/EXE?
Menci Lucio
Это два разных проекта, которые создают разные dll/exe в одном и том же решении (для отладки). Я смог вызвать все методы и другие свойства менеджера внутри проекта C#.