«IADsLargeInteger» неоднозначен в пространстве имен «ActiveDs» - PullRequest
0 голосов
/ 30 августа 2018

Я работаю над проектом на языке VB и сталкиваюсь с таким типом ошибки, когда пытаюсь скомпилировать его. «IADsLargeInteger неоднозначен в пространстве имен ActiveD» Это часть кода, которая дает мне ошибку:

   Function GetLargeInteger(ByVal val As Int64) As 
    IADsLargeInteger
    Dim largeInt As New ActiveDs.LargeInteger

    largeInt.HighPart = CType((val >> 32), Integer)
    val = val << 32
    val = val >> 32
    largeInt.LowPart = (Convert.ToInt32(val))
    Return largeInt
End Function

а также я импортировал:

Imports Dar.DAL
Imports DbShare
Imports System.DirectoryServices
Imports System.Xml.Serialization
Imports System.IO
Imports Dar.BLL.Interfaces
Imports Dar.DAL.Repositories
Imports Dar.BLL.Services
Imports System.Security.Principal
Imports System.Threading
Imports System.Globalization
Imports Elmah
Imports System.Configuration
Imports ActiveDs

Пожалуйста, помогите, потому что я не понимаю, что происходит

1 Ответ

0 голосов
/ 30 августа 2018

Сообщение об ошибке говорит о том, что IADsLargeInteger определено где-то несколько раз, и компилятор не знает, какой из них использовать. Вам нужно либо удалить одно определение (оператор импорта из одного), либо указать точно то, которое вы хотите использовать. Я предполагаю, что тот, который вы хотите использовать, содержится в ActiveDS с учетом объявления largeint, поэтому измените вашу функцию, чтобы она возвращалась:

Function GetLargeInteger(ByVal val As Int64) As ActiveDS.IADsLargeInteger
    Dim largeInt As New ActiveDs.LargeInteger

    largeInt.HighPart = CType((val >> 32), Integer)
    val = val << 32
    val = val >> 32
    largeInt.LowPart = (Convert.ToInt32(val))
    Return largeInt
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...