@@ -16,7 +16,6 @@ namespace System
16
16
{
17
17
using System ;
18
18
using System . Reflection ;
19
- using System . Runtime . Remoting ;
20
19
using System . Security ;
21
20
using CultureInfo = System . Globalization . CultureInfo ;
22
21
using Evidence = System . Security . Policy . Evidence ;
@@ -113,47 +112,6 @@ static public Object CreateInstance(Type type)
113
112
return Activator . CreateInstance ( type , false ) ;
114
113
}
115
114
116
- /*
117
- * Create an instance using the name of type and the assembly where it exists. This allows
118
- * types to be created remotely without having to load the type locally.
119
- */
120
-
121
- [ System . Security . DynamicSecurityMethod ] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
122
- static public ObjectHandle CreateInstance ( String assemblyName ,
123
- String typeName )
124
- {
125
- StackCrawlMark stackMark = StackCrawlMark . LookForMyCaller ;
126
- return CreateInstance ( assemblyName ,
127
- typeName ,
128
- false ,
129
- Activator . ConstructorDefault ,
130
- null ,
131
- null ,
132
- null ,
133
- null ,
134
- null ,
135
- ref stackMark ) ;
136
- }
137
-
138
- [ System . Security . DynamicSecurityMethod ] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
139
- static public ObjectHandle CreateInstance ( String assemblyName ,
140
- String typeName ,
141
- Object [ ] activationAttributes )
142
-
143
- {
144
- StackCrawlMark stackMark = StackCrawlMark . LookForMyCaller ;
145
- return CreateInstance ( assemblyName ,
146
- typeName ,
147
- false ,
148
- Activator . ConstructorDefault ,
149
- null ,
150
- null ,
151
- null ,
152
- activationAttributes ,
153
- null ,
154
- ref stackMark ) ;
155
- }
156
-
157
115
[ System . Security . DynamicSecurityMethod ] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
158
116
static public Object CreateInstance ( Type type , bool nonPublic )
159
117
{
@@ -185,221 +143,5 @@ static public T CreateInstance<T>()
185
143
// Skip the CreateInstanceCheckThis call to avoid perf cost and to maintain compatibility with V2 (throwing the same exceptions).
186
144
return ( T ) rt . CreateInstanceDefaultCtor ( true /*publicOnly*/ , true /*skipCheckThis*/ , true /*fillCache*/ , ref stackMark ) ;
187
145
}
188
-
189
- static public ObjectHandle CreateInstanceFrom ( String assemblyFile ,
190
- String typeName )
191
-
192
- {
193
- return CreateInstanceFrom ( assemblyFile , typeName , null ) ;
194
- }
195
-
196
- static public ObjectHandle CreateInstanceFrom ( String assemblyFile ,
197
- String typeName ,
198
- Object [ ] activationAttributes )
199
-
200
- {
201
- return CreateInstanceFrom ( assemblyFile ,
202
- typeName ,
203
- false ,
204
- Activator . ConstructorDefault ,
205
- null ,
206
- null ,
207
- null ,
208
- activationAttributes ) ;
209
- }
210
-
211
- [ System . Security . DynamicSecurityMethod ] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
212
- public static ObjectHandle CreateInstance ( string assemblyName ,
213
- string typeName ,
214
- bool ignoreCase ,
215
- BindingFlags bindingAttr ,
216
- Binder binder ,
217
- object [ ] args ,
218
- CultureInfo culture ,
219
- object [ ] activationAttributes )
220
- {
221
- StackCrawlMark stackMark = StackCrawlMark . LookForMyCaller ;
222
- return CreateInstance ( assemblyName ,
223
- typeName ,
224
- ignoreCase ,
225
- bindingAttr ,
226
- binder ,
227
- args ,
228
- culture ,
229
- activationAttributes ,
230
- null ,
231
- ref stackMark ) ;
232
- }
233
-
234
- static internal ObjectHandle CreateInstance ( String assemblyString ,
235
- String typeName ,
236
- bool ignoreCase ,
237
- BindingFlags bindingAttr ,
238
- Binder binder ,
239
- Object [ ] args ,
240
- CultureInfo culture ,
241
- Object [ ] activationAttributes ,
242
- Evidence securityInfo ,
243
- ref StackCrawlMark stackMark )
244
- {
245
- Type type = null ;
246
- Assembly assembly = null ;
247
- if ( assemblyString == null )
248
- {
249
- assembly = RuntimeAssembly . GetExecutingAssembly ( ref stackMark ) ;
250
- }
251
- else
252
- {
253
- RuntimeAssembly assemblyFromResolveEvent ;
254
- AssemblyName assemblyName = RuntimeAssembly . CreateAssemblyName ( assemblyString , false /*forIntrospection*/ , out assemblyFromResolveEvent ) ;
255
- if ( assemblyFromResolveEvent != null )
256
- {
257
- // Assembly was resolved via AssemblyResolve event
258
- assembly = assemblyFromResolveEvent ;
259
- }
260
- else if ( assemblyName . ContentType == AssemblyContentType . WindowsRuntime )
261
- {
262
- // WinRT type - we have to use Type.GetType
263
- type = Type . GetType ( typeName + ", " + assemblyString , true /*throwOnError*/ , ignoreCase ) ;
264
- }
265
- else
266
- {
267
- // Classic managed type
268
- assembly = RuntimeAssembly . InternalLoadAssemblyName (
269
- assemblyName , securityInfo , null , ref stackMark ,
270
- true /*thrownOnFileNotFound*/ , false /*forIntrospection*/ ) ;
271
- }
272
- }
273
-
274
- if ( type == null )
275
- {
276
- // It's classic managed type (not WinRT type)
277
- Log ( assembly != null , "CreateInstance:: " , "Loaded " + assembly . FullName , "Failed to Load: " + assemblyString ) ;
278
- if ( assembly == null ) return null ;
279
-
280
- type = assembly . GetType ( typeName , true /*throwOnError*/ , ignoreCase ) ;
281
- }
282
-
283
- Object o = Activator . CreateInstance ( type ,
284
- bindingAttr ,
285
- binder ,
286
- args ,
287
- culture ,
288
- activationAttributes ) ;
289
-
290
- Log ( o != null , "CreateInstance:: " , "Created Instance of class " + typeName , "Failed to create instance of class " + typeName ) ;
291
- if ( o == null )
292
- return null ;
293
- else
294
- {
295
- ObjectHandle Handle = new ObjectHandle ( o ) ;
296
- return Handle ;
297
- }
298
- }
299
-
300
- public static ObjectHandle CreateInstanceFrom ( string assemblyFile ,
301
- string typeName ,
302
- bool ignoreCase ,
303
- BindingFlags bindingAttr ,
304
- Binder binder ,
305
- object [ ] args ,
306
- CultureInfo culture ,
307
- object [ ] activationAttributes )
308
- {
309
- return CreateInstanceFromInternal ( assemblyFile ,
310
- typeName ,
311
- ignoreCase ,
312
- bindingAttr ,
313
- binder ,
314
- args ,
315
- culture ,
316
- activationAttributes ,
317
- null ) ;
318
- }
319
-
320
- private static ObjectHandle CreateInstanceFromInternal ( String assemblyFile ,
321
- String typeName ,
322
- bool ignoreCase ,
323
- BindingFlags bindingAttr ,
324
- Binder binder ,
325
- Object [ ] args ,
326
- CultureInfo culture ,
327
- Object [ ] activationAttributes ,
328
- Evidence securityInfo )
329
- {
330
- #pragma warning disable 618
331
- Assembly assembly = Assembly . LoadFrom ( assemblyFile , securityInfo ) ;
332
- #pragma warning restore 618
333
- Type t = assembly . GetType ( typeName , true , ignoreCase ) ;
334
-
335
- Object o = Activator . CreateInstance ( t ,
336
- bindingAttr ,
337
- binder ,
338
- args ,
339
- culture ,
340
- activationAttributes ) ;
341
-
342
- Log ( o != null , "CreateInstanceFrom:: " , "Created Instance of class " + typeName , "Failed to create instance of class " + typeName ) ;
343
- if ( o == null )
344
- return null ;
345
- else
346
- {
347
- ObjectHandle Handle = new ObjectHandle ( o ) ;
348
- return Handle ;
349
- }
350
- }
351
-
352
- public static ObjectHandle CreateComInstanceFrom ( String assemblyName ,
353
- String typeName )
354
- {
355
- return CreateComInstanceFrom ( assemblyName ,
356
- typeName ,
357
- null ,
358
- AssemblyHashAlgorithm . None ) ;
359
- }
360
-
361
- public static ObjectHandle CreateComInstanceFrom ( String assemblyName ,
362
- String typeName ,
363
- byte [ ] hashValue ,
364
- AssemblyHashAlgorithm hashAlgorithm )
365
- {
366
- Assembly assembly = Assembly . LoadFrom ( assemblyName , hashValue , hashAlgorithm ) ;
367
-
368
- Type t = assembly . GetType ( typeName , true , false ) ;
369
-
370
- Object [ ] Attr = t . GetCustomAttributes ( typeof ( ComVisibleAttribute ) , false ) ;
371
- if ( Attr . Length > 0 )
372
- {
373
- if ( ( ( ComVisibleAttribute ) Attr [ 0 ] ) . Value == false )
374
- throw new TypeLoadException ( SR . Argument_TypeMustBeVisibleFromCom ) ;
375
- }
376
-
377
- Log ( assembly != null , "CreateInstance:: " , "Loaded " + assembly . FullName , "Failed to Load: " + assemblyName ) ;
378
-
379
- if ( assembly == null ) return null ;
380
-
381
-
382
- Object o = Activator . CreateInstance ( t ,
383
- Activator . ConstructorDefault ,
384
- null ,
385
- null ,
386
- null ,
387
- null ) ;
388
-
389
- Log ( o != null , "CreateInstance:: " , "Created Instance of class " + typeName , "Failed to create instance of class " + typeName ) ;
390
- if ( o == null )
391
- return null ;
392
- else
393
- {
394
- ObjectHandle Handle = new ObjectHandle ( o ) ;
395
- return Handle ;
396
- }
397
- }
398
-
399
- [ System . Diagnostics . Conditional ( "_DEBUG" ) ]
400
- private static void Log ( bool test , string title , string success , string failure )
401
- {
402
- }
403
146
}
404
147
}
405
-
0 commit comments